BLOGTIMES
2011/12/24

Closure Compiler で JavaScript を最適化

  javascript  google 
このエントリーをはてなブックマークに追加

JavaScript を最適化して容量を節約するソフトを見つけたのでメモ。

closure-compiler - Closure Compiler - Google Project Hosting

Closure Compiler is a JavaScript optimizing compiler. It parses your JavaScript, analyzes it, removes dead code and rewrites and minimizes what

どうやらこの Closure Compiler は Google が作っているようですね。
ローカルにインストールすることもできますが、Closure Compiler Serviceを使えばオンラインから最適化後のJavaScriptを得ることができます。

最適化のレベル

最適化のレベルは Whitespace only, Simple, Advanced の3種類あり、後者ほど最適化のレベルが強くなります。下記の実例をみれば一目瞭然ですが、 Whitespace only だと基本的には改行とスペースをまとめるだけですが、 Simple を指定すると関数内の最適化を行うようになり、ローカル変数の文字数を付け替えてコードが短くなります。これは若干の難読化になるかもしれません。さらに Advanced にした場合には大域的な最適化を行うようで、関数が1カ所でしか使われていなければインライン展開などを行うようです。関数名を破壊してしまうので、ライブラリをこれで最適化してからインクルードしたりすると正常に動かない場合も出てきそうです。

元ソース

function power(base, exponent) { var result = 1; for (var count = 0; count < exponent; count++) result *= base; return result; } show(power(2, 10));

Optimization: Whitespace only

function power(base,exponent){var result=1;for(var count=0;count<exponent;count++)result*=base;return result}show(power(2,10));

Optimization: Simple

function power(c,d){for(var a=1,b=0;b<d;b++)a*=c;return a}show(power(2,10));

Optimization: Advanced

for(var a=1,b=0;10>b;b++)a*=2;show(a);

    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/4663
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン