我正在尝试用我的 php 代码混淆 JS 文件(1 个或更多)。它是一个简单的工具,用户可以选择一个文件并对其进行处理——其中之一就是对它进行模糊处理。所以仅仅使用 YUI 是不够的——我需要在我的代码中实现它。要添加更复杂的内容,我需要使用 YUI 选项 - Nomung 等。我在这里找到了不错的代码:https ://github.com/gpbmike/PHP-YUI-Compressor 但它有两个问题:
不是YUI的所有选项都出现在这里,我需要“覆盖现有文件”选项,我不知道怎么写。
我收到此错误:
[错误] 1:8: 缺失;before statement [ERROR] 1:0:Compilation 产生了 1 个语法错误。org.mozilla.javascript.EvaluatorException:编译产生 1 个语法错误。在 com.yahoo.platform.yui.compressor.YUICompressor$1.runtimeError(YUICompressor.java:135) 在 org.mozilla.javascript.Parser.parse(Parser.java:410) 在 org.mozilla.javascript.Parser.parse( Parser.java:355) 在 com.yahoo.platform.yui.compressor.JavaScriptCompressor.parse(JavaScriptCompressor.java:312) 在 com.yahoo.platform.yui.compressor.JavaScriptCompressor.(JavaScriptCompressor.java:533) 在 com. yahoo.platform.yui.compressor.YUICompressor.main(YUICompressor.java:112) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke (未知来源)在 java.lang.reflect.Method。
有任何想法吗?
更新:
我已经很容易地解决了这个问题,通过使用 exec() 命令简单地运行 YUI 的 java 命令:java -jar yuicompressor-xyzjar myfile.js -o myfile-min.js --charset utf-8,需要参数。让您将 YUI JAR 文件放在与您的 php 文件相同的文件夹中,仅此而已。