如何使用Google Closure编译器删除未使用的JavaScript代码?

时间:2010-07-07 21:38:35

标签: javascript jquery jquery-ui google-closure google-closure-compiler

如何使用Google Closure编译器删除未使用的代码?

我正在使用JQuery Slider控件,但我没有在JQuery中使用任何其他东西。所以我读到高级模式下的Google Closure编译器可以删除未使用的代码,但我不知道如何

我有 frontpage.html ,它链接到我网站上托管的html网页上的外部JQuery,JQuery UI和JQuery Slider控件。

在我的frontpage.html上,我还在HTML中嵌入了JavaScript,用于启动JQuery Slider控件。

我如何使用online Closure Compiler来评估我的frontpage.html,JQuery,JQuery UI和JQuery Slider,以删除我不使用的所有未使用的JQuery代码?

3 个答案:

答案 0 :(得分:5)

有两种方法可以从组合输出脚本中删除/排除未使用的代码:

在这两个选项中,使用--manage_closure_dependencies标志删除未使用的代码的次数较少(即在文件级别排除代码),但它确实允许您保持SIMPLE_OPTIMIZATIONS编译级别。无论哪种情况,您都必须包含网址 jQuery和jQueryUI脚本以及从你的页面使用jQuery Slider的代码 - 这样的东西(第一个选项):

// ==ClosureCompiler==
// @compilation_level ADVANCED_OPTIMIZATIONS
// @output_file_name default.js
// @code_url http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js
// @code_url http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/jquery-ui.js
// ==/ClosureCompiler==

// ADD YOUR CODE HERE

希望这有帮助。

答案 1 :(得分:2)

首先作为初学者,我建议您尝试简单优化。因为它可以在没有任何配置的情况下工作,并且产生效果很好。不要被名字误导。简单优化比其他任何压缩工具都能提供更好的节省。 高级可以是您的下一步,但稍微复杂一点

至于使用编译器。我的建议是将所有脚本打包到一个javascript文件上传到您的网站,这样它就会有一个网址,将其传递给在线编辑器。然后,您点击AddCompile即可。

在右侧,您将看到已编译的代码。此外,还将创建一个名为default.js的文件,您可以下载。

下一步是重命名根据您的需要,然后上传到您的服务器,更改HTML中的.js引用,您就是这么多完成。玩得开心!

答案 2 :(得分:0)

Closure Compiler的ADVANCED_OPTIMIZATION目前无法拆分jQuery。 jQuery努力最小化自己使用聪明的运行时扩展,各种别名和功能服务不同的目的取决于传递的参数一起工作,使jQuery对编译器不透明。也就是说,适当的Closure Compiler ADVANCED_OPTIMIZATION支持jQuery团队的jQuery 1.8愿望清单。