39

是否可以使用 UglifyJS 压缩多个文件?

就像是...

uglifyjs -o app.build.js appfile1.js appfile2.js ...

另外,我正在 Windows 命令提示符中通过 NodeJS 运行 Uglify

4

3 回答 3

52

实际上你想要做的(欺骗它认为它只有 1 个文件)只是 cat 它

Linux

cat file1.js file2.js file3.js file4.js | uglifyjs -o files.min.js

窗户 (未经测试)

type file1.js file2.js > uglifyjs -o files.min.js

或者

type file1.js file2.js > merged.files.js
uglifyjs -o merged.files.js
于 2012-01-11T00:41:47.710 回答
42

对于这个问题的未来读者,使用 UglifyJS2,现在这很简单......

uglifyjs file1.js file2.js -o foo.min.js

也支持源地图。

uglifyjs file1.js file2.js -o foo.min.js --source-map foo.min.js.map --source-map-root http://foo.com/src
于 2013-11-21T17:59:02.037 回答
4

不。

但正如其他答案所述,以当前形式,它可以将所有这些连接到同一个输出中。这与被问到的不一样。

如果您有十几个单独的模块文件。你不能同时丑化它们。这是可取的,因为您每次都可以节省构建时间来启动 nodejs。

yuicompressor 允许这样做,并且通过不为每个单独的文件启动 jvm 节省的时间非常好。最后,您确实得到了 file1-min.js、file2-min.js 等……而不是一个串联的 blob。

使用 uglify 如果您不想连接输出,则必须为每个文件生成一个进程。

于 2014-09-25T23:03:24.973 回答