YUI Compressor を使う
2012-05-08 javascript
js圧縮したかったから YUI Compressor を使ってみる。
http://yuilibrary.com/download/yuicompressor/ から Version 2.4.7 をダウンロードして解凍、build ディレクトリ内にある yuicompressor-2.4.7.jar を 適当な場所に配置して準備完了。
とりあえず http://code.jquery.com/jquery-1.7.2.js でも圧縮してみる。
> java -jar yuicompressor-2.4.7.jar --charset utf8 jquery-1.7.2.js > jquery-1.7.2.comp.js > ls -l jquery-1.7.2* -rw-r--r-- 1 mgng mgng 105844 May 8 09:55 jquery-1.7.2.comp.js -rw-r--r-- 1 mgng mgng 252880 Apr 23 17:01 jquery-1.7.2.js
サイズが半分以下になった。使い方とオプションはこんな具合。
使い方
java -jar yuicompressor-x.y.z.jar [オプション] [入力ファイル]
オプション
-
--type js/css
js か css を指定。未指定だと拡張子から判断。 -
--charset 文字コード
読み込むファイルの文字コードを指定。出力もこの文字コードで出力される。utf8 とか SJIS とかを指定。 -
--line-break 数字
設定した数字 byte 付近で改行をいれてくれる。200って指定すると200byteらへんで構文的に問題ないところで改行が入る。 -
-o 出力ファイル名
出力ファイルを指定。複数の入力ファイルがある場合、フィルタ構文も利用可能。 -
-v
エラーメッセージなどが表示される。 -
--nomunge (jsだけ有効)
改行やコメントを削除するだけ。変数名の圧縮はしない。 -
--preserve-semi (jsだけ有効)
不必要なセミコロンを消さずに保持する。JSLintを経由する場合はつけとくといいかも。
詳しくは同梱されてる doc/README を参照。
ちなみに、ソースコード中の /*! .... */ のコメントは削除されずに残る。