javascript - minificar - optimize js online
¿Cómo automatizar la compresión de archivos JavaScript con YUI Compressor? (6)
YUI Compressor no acepta parámetros de comodines, por lo que no puedo ejecutarlo así:
C:>java -jar yuicompressor.jar *.js
Pero tengo más de 500 archivos y preferiría no tener que crear un archivo por lotes como este:
C:>java -jar yuicompressor.jar file1.js -o deploy/file1.js
C:>java -jar yuicompressor.jar file2.js -o deploy/file2.js
...
C:>java -jar yuicompressor.jar file500.js -o deploy/file500.js
Y, por supuesto, mis nombres de archivo no son tan uniformes.
¿Hay forma de automatizar esto sin escribir ningún código? :)
Debo mencionar que usando GNU Make, tengo la siguiente regla:
%-min.js: %.js
${java} -jar ${compressor} $< -o ${<:.js=-min.js}
Podría buscar un archivo MAKE (creo que probablemente sería más fácil de mantener a largo plazo), pero si quieres un comando batch de Windows rápido y sucio, algo como lo siguiente debería funcionar:
for %%a in (*.js) do @java -jar yuicompressor.jar "%%a" -o "deploy/%%a"
Si está orientado hacia Java, también puede usar Ant para la conversión. Encontré una entrada de blog sobre Ant Taks para el compresor YUI . Descargo de responsabilidad: Nunca lo intenté - lo siento
Tendrá que utilizar algún tipo de script para obtener una lista de todos los archivos .js y luego ejecutar el compresor YUI en todos ellos. En el símbolo del sistema de Windows, algo como esto debería funcionar:
FOR %f IN (*.js) DO java -jar yuicompressor.jar %f -o deploy/%f
Y para Unix o Cygwin puedes usar xargs o algo así como:
ls -1 * .js | awk ''{printf ("java -jar yuicompressor.jar% s -o deploy /% s", $ 1, $ 1)}''
Transfiera eso a / bin / sh cuando esté satisfecho con la línea de comando para ejecutarlo.
El compresor YUI ahora admite comodines, comenzando desde la versión 2.4.4. Puede obtener la última versión aquí o desde YUI Git Hub .