Frage

YUI Compressor keine Wildcard-Parameter akzeptieren, so kann ich es nicht so laufen:

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

Aber ich habe mehr als 500 Dateien und würde lieber nicht eine Batch-Datei wie folgt erstellen müssen:

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

Und natürlich meine Dateinamen sind nicht in so einheitlich.

Gibt es Möglichkeit, dies zu automatisieren, ohne Code zu schreiben? :)

War es hilfreich?

Lösung

Ich könnte für eine Make-Datei gehen (ich denke, es ist wahrscheinlich besser verwaltbar langfristig wäre), aber wenn Sie eine schnelle-n-dirty etwas Windows-Batch-Befehl wollen wie die folgenden funktionieren sollte:

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

Andere Tipps

Wenn Sie auf Java ausgerichtet sind, können Sie auch Ant verwenden für die Konvertierung. Ich habe einen Blogeintrag über eine Ant Taks für den YUI Compressor . Haftungshinweis: Nie versucht es - sorry

YUI Compressor unterstützt nun Platzhalter, ab Version 2.4.4. Sie können die neueste Version erhalten hier oder von YUI Git Hub .

Ich sollte erwähnen, dass die GNU Make, ich habe die folgende Regel:

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

Und für Unix oder Cygwin Sie xargs oder so etwas wie verwenden können:

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

Rohr, das zu / bin / sh, wenn Sie mit der Kommandozeile zufrieden bist auszuführen.

Sie müssen so etwas wie ein Skript verwenden, um eine Liste aller JS-Dateien zu bekommen, und dann laufen die YUI Compressor auf alle von ihnen. Auf der Windows-Eingabeaufforderung, soll wie folgt funktionieren:

FOR %f IN (*.js) DO java -jar yuicompressor.jar %f -o deploy\%f
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top