Подтвердить что ты не робот

Минимизировать несколько файлов с помощью UglifyJS

Можно ли сжимать несколько файлов с помощью UglifyJS?

Что-то вроде...

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

Кроме того, я запускаю Uglify через NodeJS в командной строке Windows

4b9b3361

Ответ 1

На самом деле то, что вы хотите сделать (обмануть его в мышление только одним файлом), это просто кошка

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

ИЛИ

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

Ответ 2

Для будущих читателей этого вопроса, w/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

Ответ 3

Нет.

но, как утверждают другие ответы, в текущей форме он может объединить все их в один и тот же вывод. Это не то же самое, что задается.

Если у вас есть дюжина файлов, которые являются отдельными модулями. Вы не можете одновременно обманывать их всех. Это желательно, потому что вы сохраняете время сборки, чтобы каждый раз запускать nodejs.

yuicompressor позволяет это, и время, сохраненное при запуске jvm для каждого отдельного файла, велико. И в итоге вы получите file1-min.js, file2-min.js и т.д.... не один конкатенированный blob.

С помощью uglify вам придется создавать один процесс на файл, если вы не хотите конкатенировать вывод.