The Yahoo! JavaScript Compressor

2007/09/18

javascript 開発

YUI Compressor(The Yahoo! JavaScript Compressor)新しいバージョンがでました。

で、結構評判がよいみたい。


「Dojo Toolkit JavaScript Compressor」より、高圧縮で安全と紹介されていたので、

新しいYUI Compressorとprototype.js(ver1.5.1で 93.7K)を使って比較してみた。
Dojo Toolkit JavaScript Compressor 66.8k 71%
Dojo Toolkit JavaScript Compressor(strip newline chars) 64.3k 68%
YUI compressor-2.1.1 57k 60%

結構、いい数字でます。
で、「安全」とのことだけれど、それは自前の方でJSファイルで検証。

自分が担当している某Blogに地図を張るサイトのJSにて試してみたところ、
全然問題ないく動作しました。

圧縮結果は外部JSファイル(16個の合計値)
391k→185k

ちなみに、「Dojo Toolkit 」も使っているので、
dojo.jsもYUIにて圧縮を書けたら155k→127k(82%)になった。

YUIは、CSSファイルの圧縮もいけます。

外部CSSファイル(10個の合計値)
44.4k→26.8k

すばらしい。

コマンドは、

基本的には、以下の様な感じ。

java -jar yuicompressor-2.1.1.jar prototype.js

Windows環境下だと、エンコードを指定してあげ無いとデフォルトでMS932に判断するのかしら?

最初うまくいかなかったので、エンコードを指定したら問題なく動きました。

java -jar yuicompressor-2.1.1.jar --charset UTF-8 ./js/cookie.js -o ./js_comp/cookie.js

CSSを圧縮する場合もコマンドは基本的には一緒です。

「--type」をつけなくても問題なく認識(拡張子で判断したのかな?)。

java -jar yuicompressor-2.1.1.jar --charset UTF-8 ./css/help.css -o ./css_comp/help.css

以下に、コマンドのオプションを書いておきます。

<Options>
* -h, --help この情報を表示。
* --line-break 結果に改行を入れる?
* --type 入力ファイルのタイプを指定してね。
* --charset 入力ファイルのタイプを読み込むときのエンコード指定して!
  (WindowsだとデフォルトはMS932っぽい)
* -o 出力ファイル名
* --nomunge [js only] 圧縮のみ。変数(ローカル)の難読化は行わない。
* --warn [js only] コード中に重複した変数や、使用されない変数、慣習的に推奨されない 実装などを見つけた場合に警告をだしてくれます。ごめんなさい、試してないです。

「--warn」 に関しては、どういったものを「推奨されない実装」と判断してるのか興味深いところですね。(widhとかかしら?)

引き続き調査してみます。

DownLoadのQuick Linkはこちら。

Download YUI Compressor version 2.1.2


検証したときは、2.1.1だったんだけど、もう2.1.2が出てたんだね。

2.1.1からの違いは、オプションに以下の変更があり。

「--preserve-semi(不要なセミコロンを削除しないようにする。)」が追加。
「--line-break」が変更が加えられた模様。


で、この記事、たぶん会社のBlogにも使います。

楽天市場でGO

マウスコンピューター期間限定セール

過去の記事はこちら

QooQ