13

YUI Compressorはワイルドカード パラメーターを受け入れないため、次のように実行することはできません。

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

しかし、私は 500 以上のファイルを持っているので、次のようなバッチ ファイルを作成する必要はありません。

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

もちろん、私のファイル名はそれほど統一された方法ではありません。

コードを書かずにこれを自動化する方法はありますか? :)

4

6 に答える 6

12

私は makefile を使うかもしれません (長期的には、おそらくより保守しやすいと思います) が、クイック アンド ダーティな Windows バッチ コマンドが必要な場合は、次のようなものが機能するはずです。

for %%a in (*.js) do @java -jar yuicompressor.jar "%%a" -o "deploy\%%a"
于 2008-10-22T20:05:49.197 に答える
5

If you are geared towards Java, you can also use Ant for conversion. I've found a blog entry about an Ant Taks for the YUI Compressor. Disclaimer: Never tried it - sorry

于 2008-10-22T20:53:49.210 に答える
5

バージョン 2.4.4 以降、YUI コンプレッサーはワイルドカードをサポートするようになりました。最新バージョンは、こちらまたはYUI Git Hubから入手できます。

于 2011-04-14T08:22:35.227 に答える
4

GNU Makeを使用すると、次のルールがあることに言及する必要があります。

%-min.js: %.js
    ${java} -jar ${compressor} $< -o ${<:.js=-min.js}
于 2008-10-22T20:16:14.233 に答える
2

unix または cygwin の場合は、xargs などを使用できます。

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

実行するコマンド ラインに満足したら、それを /bin/sh にパイプします。

于 2008-10-22T20:14:03.783 に答える
1

ある種のスクリプトを使用してすべての .js ファイルのリストを取得し、それらすべてに対して YUI Compressor を実行する必要があります。Windows コマンド プロンプトでは、次のように動作するはずです。

FOR %f IN (*.js) DO java -jar yuicompressor.jar %f -o deploy\%f
于 2008-10-22T20:10:42.480 に答える