8

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

4

2 回答 2

18

如果您将 compress used 选项设置为 false,它应该会加快速度。就这样,我从 11 秒到 5.5 秒。

   { 
       compress: {
           unused: false
       }
   }

关闭后相差不到2k。

于 2015-11-20T21:16:10.177 回答
8

压缩器需要几秒钟来压缩多个大文件的情况并不少见。在您的情况下(多个大型库),8-12 秒是可以的。

但是,我建议不要自己压缩这些库。他们中的大多数人背后都有一个真正知道自己在做什么的开发人员团队,我建议从源代码下载缩小版本,并且做起来很简单

copy *.min.js allLibraries.js

或者

cp *.min.js allLibraries.js

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

至于加速,除了禁用强压缩等酷炫功能外,您无能为力。

于 2013-03-16T09:59:10.527 回答