8

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

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

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

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

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

4

3 回答 3

5

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

在这两个选项中,使用该--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

希望这可以帮助。

于 2010-07-21T01:32:08.103 回答
2

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

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

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

下一步是将其重命名为您的需要,然后上传到您的服务器,更改.jsHTML 中的引用,您就大功告成了。玩得开心!

于 2010-07-07T22:02:36.363 回答
1

Closure Compiler 的 ADVANCED_OPTIMIZATION 目前无法拆分 jQuery。jQuery 努力使用巧妙的运行时扩展、各种别名以及根据传递的参数服务于不同目的的函数来最小化自身,所有这些一起工作以使 jQuery 对编译器不透明。也就是说,正确的 Closure Compiler ADVANCED_OPTIMIZATION 支持在 jQuery 团队对 jQuery 1.8 的愿望清单中非常重要。

于 2011-11-26T06:47:44.513 回答