2008-12-11 60 views

回答

3

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

  1. 压缩后的大小并不能说明整个故事,因为一个积极的压缩可能会导致更慢由于在浏览器解释之前运行拆包代码所需的额外时间,因此运行时性能较差。
    • 当您控制输入代码时,错误是最容易避免的 - 明智地使用分号会很长。在您的代码上运行JSLint,并修复报告的任何问题。
    • 当然,代码本身的样式和大小会影响结果。
    • 最后,值得注意的是,尽管一些代码压缩工具将更有效地与gzip结合,但服务器端gzip压缩总是会导致比任何代码压缩更小的下载。

我的建议是成果的基础上运行,你打算通过几个压缩机(自动化比较工具如CompressorRater帮助...)压缩码,并选择 - 记忆测试,轮廓和比较之后的实际页面加载时间。

+0

这通常是一个不错的主意,可以调整性能并查看效果,但对于JSMin,Dojo ShrinkSafe和YUI Compressor,它们只会减小文件大小(替换符号,删除死代码) - 它们不会修改行为。 Dean Edward的包装工确实增加了处理时间。 – orip 2008-12-12 00:03:52

0

作为Mootools的用户,我注意到Mootools已经通过YUI Compressor替换了Dean Edwards的Packer。我还记得有一次关于Ajaxian.com的讨论,Julien(Compressor作者)指出YUI压缩机做得更好的地方。我使用Compressor并从未见过任何问题,但我从来没有研究过在混淆时哪些产生更少的错误。

0

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

11

比较最好的压缩机的好方法是Arthur Blake的The JavaScript CompressorRater

你通常感兴趣的是用GZIP压缩后的大小(你应该配置你的web服务器来执行压缩)。

最好的结果通常是从YUI CompressorDojo ShrinkSafe。差异非常小,过了一段时间我停止了比较,我只使用YUI压缩机。

编辑: 自从这个问题被问到最初的时候,2个新的minifiers已被释放。它们通常至少与YUI压缩机一样好,甚至更好。

编辑2:

  • UglifyJS,由jQuery开发团队的官方1.5版本选择
2

肯定退房Dojo Shrinksafe。最近重做了,显然表现得到了改善。

+0

+1,因为我不必像雅虎那样下载它。 – 2010-12-08 03:15:59

相关问题