哪个 javascript 缩小库产生更好的结果? [关闭]

Posted

技术标签:

【中文标题】哪个 javascript 缩小库产生更好的结果? [关闭]【英文标题】:Which javascript minification library produces better results? [closed] 【发布时间】:2010-09-26 12:36:20 【问题描述】:

在Yahoo! UI Compressor、Dean Edwards Packer 和jsmin 之间,无论是在占用空间方面还是在混淆时的错误更少方面,这都会产生更好的结果。

【问题讨论】:

【参考方案1】:

比较最佳压缩器的好方法是 Arthur Blake 的 The javascript CompressorRater。

您通常感兴趣的是使用 GZIP 压缩后的大小(您应该配置您的 Web 服务器以执行压缩)。

最好的结果通常来自YUI Compressor 或Dojo ShrinkSafe。差异是如此之小,以至于过了一会儿我停止比较,我只使用 YUI Compressor。

编辑: 自从最初提出这个问题以来,已经发布了 2 个新的缩小器。它们通常至少与 YUI Compressor 一样好,甚至更好。

谷歌的Closure Compiler。包括有时适用的激进advanced optimization 模式。 Microsoft 的 Ajax Minifier(在 this page 中搜索“minifier”)

编辑 2:

UglifyJS,由 jQuery 团队选择用于 1.5 官方版本

【讨论】:

【参考方案2】:

更好在这里有点主观,因为需要考虑多个因素(甚至超出您列出的因素):

    压缩后的大小并不能说明全部情况,因为在浏览器解释之前运行解压缩代码需要额外的时间,因此激进的压缩器会导致运行时性能变慢。 当您控制输入代码时,最容易避免错误 - 明智地使用分号大有裨益。在您的代码上运行 JSLint,并修复报告的任何问题。 当然,代码本身的样式和大小会影响结果。 最后,值得牢记的是,服务器端 gzip 压缩总是比任何代码压缩产生的下载量更小,尽管一些代码压缩工具会更有效地与 gzip 结合使用。

我的建议是通过几个压缩器运行您打算压缩的代码(一个自动比较工具,如CompressorRater 有帮助...),并根据结果进行选择 - 记住要测试、分析和比较实际页面之后的加载时间。

【讨论】:

对性能进行计时并查看效果通常是个好主意,但在 JSMin、Dojo ShrinkSafe 和 YUI Compressor 的情况下,它们只会减小文件大小(替换符号、删除死代码)——它们不要修改行为。 Dean Edward 的打包机确实增加了处理时间。【参考方案3】:

一定要查看Dojo Shrinksafe。最近对其进行了重新设计,显然性能得到了提升。

【讨论】:

+1 因为我不必像雅虎那样下载它。【参考方案4】:

完全披露,我支持这个:http://www.toptensoftware.com/minime,它进行缩小、混淆和一组合理的 lint 样式检查。目前它产生的输出比 Yui 小,不如 Closure。

【讨论】:

【参考方案5】:

这是一个老问题,当时不存在Google Closure Compiler。我还没用过,但它看起来真的不错。

【讨论】:

【参考方案6】:

作为一名 Mootools 用户,我注意到 Mootools 已将 Dean Edwards 的 Packer 替换为 YUI Compressor。我还记得 Ajaxian.com 上有一个讨论,其中 Julien(Compressor 的作者)指出了 YUI Compressor 做得更好的领域。我使用了 Compressor 并且从未发现任何问题,但我从未研究过在混淆时哪个产生的错误更少。

【讨论】:

【参考方案7】:

YUI Compressor 的压缩比 Packer 更安全、更紧凑。我相信 Packer 需要完美地形成 JavaScript,否则在加载脚本时会导致 JavaScript 错误。尽管如此,无论您使用哪种方式,通过 Gzip 压缩文件,您都会获得最大的性能提升。

【讨论】:

【参考方案8】:

Codeplex 上还有一个 YUICompress for .NET 的端口(其中包括 TFS 的构建任务)。

【讨论】:

以上是关于哪个 javascript 缩小库产生更好的结果? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

更新css文件并缩小它

thymeleaf 和 jquery 哪个好

C语言函数执行成功时,返回1和返回0,究竟哪个好?

我应该将哪个库用于大数据项目[关闭]

使用php或javascript将数据从excel导入Html网站哪个更好? [关闭]

python操作Excel,你觉得哪个库更好呢?