什么是最好的JavaScript压缩器?我正在寻找一种工具:
- 易于使用
- 压缩率高
- 产生可靠的最终结果(不会弄乱代码)
什么是最好的JavaScript压缩器?我正在寻找一种工具:
Answers:
我最近发布了UglifyJS,这是一个用JavaScript编写的JavaScript压缩器(可在NodeJS Node.js平台上运行,但可以轻松修改以在任何JavaScript引擎上运行,因为它不需要任何Node.js
内部组件)。它比YUI Compressor和Google Closure都快很多,在我测试过的所有脚本上,它的压缩效果都比YUI更好,并且比Closure更安全(知道处理“ eval”或“ with”)。
除了去除空格之外,UglifyJS还执行以下操作:
foo["bar"]
为foo.bar
可能的地方PS:哦,它也可以“美化”。;-)
几年后,UglifyJS再次讨论这个问题,似乎是目前最好的选择。
如下所述,它可以在NodeJS平台上运行,但是可以轻松地修改为在任何JavaScript引擎上运行。
-下面的旧答案-
Google发布了Closure Compiler,该文件似乎在这里和这里都可以生成最小的文件
在此之前,各种选项如下
基本上,Packer在初始压缩时做得更好,但是如果要在在线发送之前对文件进行gzip处理(应该这样做),YUI Compressor将获得最小的最终大小。
测试是在jQuery代码btw上完成的。
@ daniel james在注释Compressorrater中提到,它显示Packer在最佳压缩率方面领先于图表,因此我猜是ymmv
\uxxxx
默认文字..使用例如--charset UTF-8
(如果你确定你让浏览器知道它在某种程度上)
YUI Compressor是必经之路。它具有很高的压缩率,经过了良好的测试,并在许多顶级站点中得到使用,并且,我个人建议这样做。
我已经将它用于我的项目,而没有一个JavaScript错误或打h。而且它有很好的文档。
我从未使用过它的CSS压缩功能,但是它们也存在。CSS压缩同样有效。
注意:尽管Dean Edwards的/ packer /的压缩率比YUI Compressor更好,但是在使用它时遇到了一些JavaScript错误。
npm install packer
。(= D
我在Dojo项目中使用了ShrinkSafe-这是个例外,因为它实际上使用JavaScript解释器(Rhino)处理代码中的符号并理解其范围等,这有助于确保代码在出现时能正常工作。另一端,与许多使用regex进行压缩的压缩工具相反(不那么可靠)。
实际上,在我当前的Visual Studio解决方案的Web部署项目中,我实际上有一个MSBuild任务,该任务运行一个脚本,该脚本又会在部署之前通过ShrinkSafe运行该解决方案的所有JS文件,并且效果很好。
编辑:顺便说一下,“最佳”是有争议的,因为“最佳”的标准将根据项目的需求而变化。我个人认为ShrinkSafe是一个很好的平衡点。对于某些认为最小尺寸==最佳的人来说,这将是不够的。
编辑:值得注意的是,YUI压缩器也使用Rhino。
在寻找银弹时,发现了这个问题。对于Ruby on Rails http://github.com/sstephenson/sprockets
bananascript.com曾经给我最好的结果。
KJS压缩
http://opensource.seznam.cz/KJScompress/index.html
Kjscompress / csskompress由两个应用程序(kjscompress一个csscompress)组成,用于从包含JavaScript和CSS的文件中删除不重要的空格和注释。两者都是GNU / Linux操作系统的命令行应用程序。
精简后,Js Crush是一个很好的压缩器。