我记得在 GitHub 上看到过一个新的 JavaScript 编译器/压缩器,甚至应该比 Google 的 Closure Compiler 更好。不幸的是,我无法记住它的名称并且再次找到它。也许有人可以帮助我?:)
谢谢, Corin
我记得在 GitHub 上看到过一个新的 JavaScript 编译器/压缩器,甚至应该比 Google 的 Closure Compiler 更好。不幸的是,我无法记住它的名称并且再次找到它。也许有人可以帮助我?:)
谢谢, Corin
查看这个网址的统计数据:http://axod.blogspot.ca/2010/01/google-closure-compiler-advanced-mode.html
与道格拉斯·克罗克福德和雅虎YUI的JSMin进行比较。
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缩小器的思想推进了一步。它通过实际编译来删除未使用的代码,内联变量并重写代码,使其尽可能小。
仅供参考,您可以在此处访问Google Closure Compiler用户界面http://closure-compiler.appspot.com/home
据我所知,如果你想要进行全局死代码删除(即树摇)和优化,Closure Compiler的高级模式是唯一可用的选择。这就是为什么像emscripten、ClojureScript和Dart javascript翻译器这样的项目使用它的原因。
注意到这一点后,我刚刚在标准模式下使用Closure Compiler对我编写的库https://github.com/robertdmunn/gadget-ui进行了比较,以便与我通过Grunt使用的UglifyJS进行比较。基本代码为20KB,Uglifier和Closure Compiler(std mode)都将其缩小为10KB。对于大多数用例,我认为这已经足够好了。Closure高级模式只将其缩小到9KB。对于边缘情况-Web规模-10%的缩小是不错的。但请注意,根据我的经验,gzip压缩可以将文件大小减少60-80%,因此仅使用高级模式减少10%,如果您使用gzip,则仅比标准模式节省2-4%。对于Web规模来说,2-4%很有价值,但对于大多数开发人员来说,可能不值得引入潜在的问题。