如何加快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。