微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用闭包编译器删除jQuery的未使用部分

是否可以使用闭包编译器删除jQuery的未使用部分?

我有一个只使用jQuery的网络(json)函数的脚本,我想要一个删除其他所有东西的缩小脚本.

我试过调用它:

java -jar compiler.jar --compilation_level=ADVANCED_OPTIMIZATIONS --js=jquery-latest.js --js=my_script.js  --js_output_file=out.js

但我最终得到的文件不小于常规的缩小jQuery源代码.

编辑:我应该提一下这背后的原因.此脚本将包含在第三方网站中,它需要更高版本的jQuery(1.5或1.6).我认为最简单的处理方法是将最新版本捆绑在脚本中(仅适用于我的脚本,而不是触及window.jQuery),删除未使用的部分以减小大小.这样,如果他们已经有了旧版本的jQuery,它就不会干涉.

解决方法

在jQuery中删除“未使用”的方法是不可能的,因为你可以用疯狂的方式调用方法,如:
<input id="test" value="hello!"/>

alert($('#test')[prompt('Method?')]()); // input "val" in the prompt Box

闭包编译器不可能知道将使用哪些方法.

小提琴:http://jsfiddle.net/garreh/xDDXt/

正如一些旁注:

> jQuery(1.6)的最新生产版本仅为31kb.通过适当的缓存控制,这将被下载一次并由浏览器在本地缓存.
>你可能会帮助自己优化通常尺寸更大的东西,即图像.
> …或减少浏览器请求,例如使用CSS精灵技术来更好地优化您的网站.
>放置您的jQuery代码< script>标记页面底部,实现更大的下载并行化. http://developer.yahoo.com/blogs/ydn/posts/2007/07/high_performanc_5/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐