Comprimir varios archivos con UglifyJS


¿ Es posible comprimir varios archivos con UglifyJS?

Algo así...

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

Además, estoy ejecutando Uglify a través de NodeJS en el símbolo del sistema de Windows

Author: Jakub, 2012-01-11

3 answers

En realidad lo que quieres hacer (engañarlo para que piense que es solo 1 archivo) es cat it

Linux

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

Ventanas (no ensayado)

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

O

type file1.js file2.js > merged.files.js
uglifyjs -o merged.files.js
 49
Author: Jakub,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-01-11 02:07:24

Para los futuros lectores de esta pregunta, w/ UglifyJS2, esto es trivial ahora...

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

También hay soporte para mapas fuente.

uglifyjs file1.js file2.js -o foo.min.js --source-map foo.min.js.map --source-map-root http://foo.com/src
 38
Author: jcreamer898,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-21 17:59:02

No.

Pero como otras respuestas indican, en su forma actual, puede concatenar todas ellas en la misma salida. Que no es lo mismo que se está pidiendo.

Si tiene una docena de archivos que son módulos individuales. No se puede uglify todos ellos al mismo tiempo. Lo cual es deseable porque ahorra tiempo de construcción para iniciar nodejs cada vez.

Yuicompressor permite esto, y el tiempo ahorrado al no iniciar una jvm para cada archivo individual es excelente. Y al final tienes file1-min.js, file2-min.js, etc... ni una gota concatenada.

Con uglify tendrá que generar un proceso por archivo si no desea concatenar la salida.

 3
Author: gcb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-25 23:03:24