Minify multiple files with UglifyJS Minify multiple files with UglifyJS node.js node.js

Minify multiple files with UglifyJS


Actually what you want to do (trick it into thinking its just 1 file) is just cat it

Linux

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

Windows (untested)

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

OR

type file1.js file2.js > merged.files.jsuglifyjs -o merged.files.js


For future readers of this question, w/ UglifyJS2, this is trivial now...

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

There is also support for source maps too.

uglifyjs file1.js file2.js -o foo.min.js --source-map foo.min.js.map --source-map-root http://foo.com/src


No.

but as other answers states, in it current form, it can concatenate all of them in the same output. Which is not the same as is being asked.

If you have a dozen files that are individual modules. You can not uglify them all at the same time. Which is desirable because you save build time to start nodejs every time.

yuicompressor allows this, and the time saved by not starting up a jvm for each individual file is great. And in the end you do get file1-min.js, file2-min.js, etc... not one concatenated blob.

With uglify you will have to spawn one process per file if you do not want to concatenate output.