javascript:哪个是强大的javascript压缩器

时间:2011-02-06 17:51:57

标签: javascript mootools javascript-framework

哪个是强大的JavaScript压缩器而不是

http://www.bananascript.com/
因为bananascript压缩mootools未压缩库(138KB)到40KB。与谷歌JS压缩器,YUI压缩器等相比,这是最好的结果。我应该知道有任何陷阱或跨浏览器问题。如果我想压缩mootools未压缩的库,我应该去哪一个。这样我可以确定用什么来压缩我的其他自定义JS文件?

3 个答案:

答案 0 :(得分:5)

我建议使用 YUI Compressor 。它也用于官方压缩版本,非常高效。它是基于Java的,我在部署期间使用它,但也按需使用(由于速度不是很快,因此需要缓存)。

下载在这里:http://developer.yahoo.com/yui/compressor/ 在此测试:http://yui.2clics.net/

bananascript使用各种String方法,例如split,replace来构建脚本,以及在脚本末尾看到的最差: eval 。这就是为什么即使Dean Edwards打包器很少使用这些天,eval会在每次加载时增加大量计算开销,并使浏览器窗口在每个加载时感觉迟钝。 (更多信息:http://dean.edwards.name/weblog/2007/08/js-compression/

您可以试试Google的Closure Compiler,但它要求您根据他们的警告免费编译指南优化您的代码。

总结最佳做法

  1. 使用基于非eval的压缩器,如YUI。
  2. 为您的脚本提供gzip压缩
  3. 将所有脚本和依赖项压缩在一个文件中(不是在开发期间)或依赖注入(大规模应用程序),如Aaron Newtons Dependency Loader或require.js

答案 1 :(得分:1)

正如卡萨布兰卡在评论中提到的,他们都会产生类似的结果,所以你应该更喜欢那种你最熟悉的那种。

选择压缩库时需要考虑的其他事项是它如何与您的构建/发布过程集成。

另外,请考虑大多数Web服务器都可以配置为对结束文件应用gzip(或类似)压缩 - 使通过线路发送的实际位数更小。

答案 2 :(得分:1)

除了生成的脚本的原始大小之外,您必须记住的另一件事是执行该脚本所需的性能。如果压缩是以需要浏览器首先解压缩或重新生成原始代码的方式完成的,那么您正在创建性能损失,因此可能选择其他压缩器中的任何一个都是更好的选择,特别是当文件发送一次时并在浏览器中缓存,但每次加载页面时都必须进行解压缩。