Question

YUI Compressor n'accepte pas les paramètres génériques, je ne peux donc pas l'exécuter de la manière suivante:

C:>java -jar yuicompressor.jar *.js

Mais j'ai plus de 500 fichiers et je préférerais ne pas avoir à créer un fichier de commandes comme celui-ci:

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

Et bien sûr, mes noms de fichiers ne sont pas de manière uniforme.

Est-il possible d'automatiser cela sans écrire de code? :)

Était-ce utile?

La solution

Je pourrais opter pour un fichier makefile (je pense que ce serait probablement plus facile à maintenir à long terme), mais si vous voulez une commande batch Windows fast-n-dirty, une commande semblable à celle-ci devrait fonctionner:

for %%a in (*.js) do @java -jar yuicompressor.jar "%%a" -o "deploy\%%a"

Autres conseils

Si vous êtes orienté vers Java, vous pouvez également utiliser Ant pour la conversion. J'ai trouvé une entrée de blog à propos d'un aide-mémoire pour le compresseur YUI . Disclaimer: Jamais essayé - désolé

Le compresseur YUI prend désormais en charge les caractères génériques à partir de la version 2.4.4. Vous pouvez obtenir la dernière version ici ou auprès de YUI Git Hub .

Je dois mentionner que l'utilisation de GNU Make a la règle suivante:

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

Et pour unix ou cygwin, vous pouvez utiliser xargs ou quelque chose comme:

ls -1 * .js | awk '{printf (" java -jar yuicompressor.jar% s -o deploy /% s ", $ 1, $ 1)}'

Envoyez-le à / bin / sh lorsque vous êtes prêt à exécuter la ligne de commande.

Vous devrez utiliser une sorte de script pour obtenir la liste de tous les fichiers .js, puis exécuter le YUI Compressor sur chacun d'entre eux. À l'invite de commande Windows, quelque chose comme ceci devrait fonctionner:

FOR %f IN (*.js) DO java -jar yuicompressor.jar %f -o deploy\%f
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top