Pregunta

YUI Compressor no acepta parámetros comodín, 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 alguna manera de automatizar esto sin escribir ningún código? :)

¿Fue útil?

Solución

Podría optar por un archivo MAKE (creo que probablemente sería más fácil de mantener a largo plazo), pero si desea un comando por lotes 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"

Otros consejos

Si está orientado a Java, también puede usar Ant para la conversión. He encontrado una entrada de blog sobre un Ant Taks para el compresor YUI . Descargo de responsabilidad: nunca lo intenté, lo siento

El compresor

YUI ahora admite comodines, a partir de la versión 2.4.4. Puede obtener la última versión aquí o de YUI Git Hub .

Debo mencionar que usando GNU Make, tengo la siguiente regla:

%-min.js: %.js
    ${java} -jar ${compressor} $< -o ${<:.js=-min.js}

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)}'

Canalice eso a / bin / sh cuando esté satisfecho con la línea de comando para ejecutarlo.

Necesitará usar 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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top