最好的javascript编译器/ minifier

时间:2011-03-18 08:04:58

标签: javascript compiler-construction minify

我记得在github上看过一个新的javascript编译器/ minifier,甚至比google的闭包编译器更好。不幸的是,我不记得它的名字并再次找到它。也许有人可以帮助我? :)

谢谢, 科林

4 个答案:

答案 0 :(得分:32)

可能UglifyJS?它是jQuery项目当前使用的缩小器。

查看这些speed comparisons

答案 1 :(得分:16)

请参阅统计信息src:http://axod.blogspot.ca/2010/01/google-closure-compiler-advanced-mode.html

比较JSMin,Douglas Crockford和Yahoo!锐

Minifier           | Bytes   |% of original| gz Bytes | gz % original
None               | 428,264 |    100%     |   91,750 |     100%
JSMin              | 249,372 |     58%     |   57,338 |     62%
YUI                | 235,214 |     55%     |   55,990 |     61%
Closure (STANDARD) | 219,446 |     51%     |   53,515 |     58%
Closure (ADVANCED) | 166,774 |     39%     |   47,372 |     52%

Closure将Javascript minifier的想法更进一步。它通过进行实际编译来删除未使用的代码,内联变量并重写代码以使其尽可能小。

仅供参考,您可以在http://closure-compiler.appspot.com/home

访问Google Closure Compiler界面

答案 2 :(得分:12)

AFAIK Closure Compiler的ADVANCED模式是城里唯一的游戏,如果你想要全局死代码删除(又名树摇动)和优化。这就是emscripten和ClojureScript以及Dart javascript翻译等项目使用它的原因。

答案 3 :(得分:0)

这是一个老问题,但我发现了一些新信息并想分享。我在GitHub上找到了一个名为RegPack https://github.com/Siorki/RegPack的专用minifier。我说是专门的,因为它旨在优化小(1KB-4KB)文件,并与JavaScript中的Canvas,WebGL和Audio组件一起使用。结果相当惊人,但也特定于您正在编写的JavaScript类型。

注意到,我只是在标准模式下针对我编写的库https://github.com/robertdmunn/gadget-ui运行Closure Compiler,将输出与我通过Grunt使用的UglifyJS进行比较。基本代码为20KB,Uglifier和Closure Compiler(std模式)均为10KB。对于大多数用例,我认为它足够好。关闭高级模式仅将其减少到9KB。对于边缘情况 - 网络规模 - 小10%是体面的。但是请注意,根据我的经验,gzip压缩会将文件大小减少60-80%,因此如果使用gzip,使用高级模式减少10%只会比标准模式节省2-4%。 2-4%在网络规模上很有价值,但对于大多数开发人员来说,可能不值得引入潜在的问题。