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

我正在使用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的所有有用选项的情况下加快这个过程?

缩小器花费几秒钟来压缩多个大文件并不罕见。 8-12秒是可以的(多个大型图书馆)。

不过,我build议不要自己压缩这些库。 他们中的大多数都有他们背后的开发团队,他们真的知道他们在做什么,我build议从源代码下载缩小版本,并尽可能简单

 copy *.min.js allLibraries.js 

要么

 cp *.min.js allLibraries.js 

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

至于加速,除了禁用强大的压缩等酷function外,没有什么可以做的。

如果将compress unused选项设置为false,它应该加快一点。 我从11秒到了5.5秒。

  { compress: { unused: false } } 

与它相差不到2K。