Ste*_*ven 5 javascript optimization jscompress
我想压缩我的2000多行javascript,并测试了http://dean.edwards.name/packer/和http://closure-compiler.appspot.com/home.
但在这两种情况下,压缩脚本都会给我带来错误.错误的一个例子是jQuery(document).Da is not a function.
为什么我的脚本在优化后不起作用?我该怎么做才能优化/压缩我的脚本?
确保每个JavaScript文件的开头都有分号.奇怪,我知道,但这就是原因:
你可能在一个文件中有这样的东西:
function someFunc() {
...
}
Run Code Online (Sandbox Code Playgroud)
在下一个文件中跟着这样的东西(这是多少jQuery插件看起来):
(function($) {
...
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
这被压缩成这个:
function someFunc(){ }( function($){...} )(jQuery);
Run Code Online (Sandbox Code Playgroud)
这本质someFunc上function($){...}是基于它的论点.然后,它将接受返回的任何内容,并假设它是一个函数并将其jQuery作为参数调用.
这就是大多数jQuery插件开始的原因;(function($){.
在每个文件的开头(或结束,但使其一致)放置分号将使您的脚本看起来像:
;function someFunc(){ }; (function($){...})(jQuery);
Run Code Online (Sandbox Code Playgroud)
这样,您的脚本将被解释为预期.