Ron*_*lev 170 javascript compression
什么是最好的JavaScript压缩器?我正在寻找一种工具:
小智 149
我最近发布了UglifyJS,一个用JavaScript编写的JavaScript压缩器(在NodeJS Node.js平台上运行,但它可以很容易地修改为在任何JavaScript引擎上运行,因为它不需要任何Node.js内部构件).它比YUI Compressor和Google Closure快得多,它在我测试它的所有脚本上比YUI压缩得更好,而且它比Closure更安全(知道处理"eval"或"with").
除了删除空格外,UglifyJS还执行以下操作:
foo["bar"]为foo.bar可能的地方PS:哦,它也可以"美化".;-)
Pat*_*Pat 124
几年后重新审视这个问题,UglifyJS似乎是目前最好的选择.
如下所述,它在NodeJS平台上运行,但可以轻松修改以在任何JavaScript引擎上运行.
---下面的老答案---
谷歌发布了关闭编译器似乎至今被产生最小的文件,看到这里和这里
在此之前,各种选择如下
基本上Packer在初始压缩方面做得更好,但是如果你要在发送线路之前gzip文件(你应该这样做),YUI Compressor获得最小的最终大小.
测试是在jQuery代码btw上完成的.
@ daniel james在评论compressrater中提到,显示Packer以最佳压缩率领先图表,所以我猜ymmv
kam*_*ens 43
YUI Compressor是要走的路.它具有很好的压缩率,经过充分测试,并在许多顶级网站中使用,而且,我个人推荐.
我已经将它用于我的项目而没有一个JavaScript错误或打嗝.它有很好的文档.
我从未使用过它的CSS压缩功能,但它们也存在.CSS压缩也可以.
注意:虽然Dean Edwards的/ packer /实现了比YUI Compressor更好的压缩率,但在使用它时遇到了一些JavaScript错误.
我使用Dojo项目中的ShrinkSafe - 它很特别,因为它实际上使用JavaScript解释器(Rhino)来处理在代码中查找符号并理解它们的范围等,这有助于确保代码在出现时能够正常工作另一方面,与许多使用正则表达式做同样的压缩工具相反(这不是那么可靠).
我实际上在我当前的Visual Studio解决方案中的Web部署项目中有一个MSBuild任务,它运行一个脚本,然后在我们部署之前通过ShrinkSafe运行所有解决方案的JS文件并且它运行良好.
编辑:顺便说一下,"最佳"是有争议的,因为"最佳"的标准将根据项目的需要而变化.就个人而言,我认为ShrinkSafe是一个很好的平衡; 对于一些认为最小尺寸==最佳的人来说,这将是不够的.
编辑:值得注意的是YUI压缩器也使用Rhino.