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

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

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

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

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

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

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

  • 第一种,涉及使用ADVANCED_OPTIMIZATIONS编译级别(有关详细说明和用法,请参阅高级编译和外部 )
  • 第二,是允许编译器管理依赖项 (即使用--manage_closure_dependencies编译标志

在这两个选项中,使用--manage_closure_dependencies标志来删除未使用的代码的程度较小(即在文件级别排除代码),但它确实允许您保持SIMPLE_OPTIMIZATIONS编译级别。 在任何一种情况下,你都必须包含jQuery和jQueryUI脚本的url以及从你的页面使用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 

希望这可以帮助。

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

至于使用编译器。 我的建议是将所有脚本打包到一个javascript文件中上传到你的网站,这样它就会有一个url,把它传递给在线编译器。 然后单击“ AddCompile ,即可完成。

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

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

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