我正在使用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的所有有用选项的情况下加快此过程?
答案 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
。
至于加速,除了禁用强力压缩之类的酷炫功能外,你无能为力。