Ged*_*don -2 javascript minify
我正在Windows操作系统上运行100个Javascript文件,并遇到了几乎一半的问题.事实证明,minfiying压缩器无法正确缩小具有点所示功能的js文件.对于YUI压缩器,它会在发生这种情况时删除文件的内容,而对于Ajaxminifier,它只是忽略点并在它之前取出函数名.
有问题的功能示例:
function window.onload() {}
Error Message: :missing ( before function parameters
Run Code Online (Sandbox Code Playgroud)
使用YUI压缩器作为MSBuild任务和命令行都会产生相同的结果.
命令行示例:
java -jar yuicompressor.jar --type js --charset utf-8 -o D:\foo.js D:\foo-min.js
Run Code Online (Sandbox Code Playgroud)
使用Ajax Minifier示例:
命令行:
AjaxMin.exe -o D:\foo.js D:\foo-min.js
Run Code Online (Sandbox Code Playgroud)
但是,一种解决方案是重写功能,缩小过程很有效例如:
window.onload = function() {}
Run Code Online (Sandbox Code Playgroud)
但是现在这不是我们的选择.有谁知道这个问题并能够提供解决方案吗?
谢谢.是的,我确实继承了这些文件,我还没有确定它是用这种方式编写的.我不相信有任何处理器将其转换为正确的JS ..我知道Web应用程序只能在IE上运行,这可能就是为什么这样做的原因.在firefox等,可能不是这样.我希望改变它
它正在破碎,因为你正试图缩小无效的JavaScript.功能中不能包含点.
我想你正试图命名空间.如果你是,你最好做一些像:
var myVar = {
foo: function () { /* do something */ }
}
myVar.foo();
Run Code Online (Sandbox Code Playgroud)