如何加快UglifyJS 2的缩小过程?

时间:2013-03-16 09:39:45

标签: javascript node.js minify uglifyjs

我正在使用UglifyJS 2来连接和缩小一堆JavaScript文件(不要太多,大约5到10)。此过程使用UglifyJS 2的默认设置从Node.js中运行。

这些文件基本上是Require.js,jQuery,Backbone.js,Backbone.js Marionette,Moment.js以及一些其他(较小的)辅助文件,所有这些都在未压缩(即开发)版本中。

问题是这个过程大约需要10秒钟。

如果我通过交接完全禁用缩小

{ compress: false }

作为一个选项,速度要快得多,但它仍然需要大约2秒钟。

问题#1:即使是一些文件,UglifyJS 2通常会 吗?或者我最有可能做错了什么?

问题2:如何在不禁用UglifyJS 2的所有有用选项的情况下加快此过程?

2 个答案:

答案 0 :(得分:15)

如果将compress unused选项设置为false,则应将其加速一点。我从11秒到5.5秒就得到了我的。

   { 
       compress: {
           unused: false
       }
   }

与它关闭不到2k的差异。

答案 1 :(得分:7)

缩小器花费几秒钟压缩多个大文件并不罕见。在你的情况下8-12秒是可以的(多个大型库)。

但是,我建议不要自己压缩这些库。他们中的大多数都有一群开发人员,他们真正知道他们在做什么,我建议从源代码下载缩小版本,并做到如此简单

copy *.min.js allLibraries.js

cp *.min.js allLibraries.js

注意:请确保以正确的顺序连接,这通常意味着The main libraries -> The plugins -> Your code

至于加速,除了禁用强力压缩之类的酷炫功能外,你无能为力。