web-dev-qa-db-ja.com

最高のJavaScriptコンパイラ/縮小機能

Googleのクロージャーコンパイラよりも優れているgithubで新しいjavascriptコンパイラ/ minifierを見たのを覚えています。残念ながら、その名前を思い出せず、また見つけることができません。多分誰かが私を助けることができますか? :)

おかげで、コリン

33
gucki

おそらく glifyJS ?これは、jQueryプロジェクトが現在使用している縮小版です。

これらの 速度比較 を確認してください。

32
Bryan Downing

統計ソースを参照してください: http://axod.blogspot.ca/2010/01/google-closure-compiler-advanced-mode.html

douglas CrockfordとYahoo!によるJSMinを比較してください。ゆい

Minifier           | Bytes   |% of original| gz Bytes | gz % original
None               | 428,264 |    100%     |   91,750 |     100%
JSMin              | 249,372 |     58%     |   57,338 |     62%
YUI                | 235,214 |     55%     |   55,990 |     61%
Closure (STANDARD) | 219,446 |     51%     |   53,515 |     58%
Closure (ADVANCED) | 166,774 |     39%     |   47,372 |     52%

クロージャは、Javascriptミニファイアのアイデアをさらに一歩進めたものです。これは、実際のコンパイルを行って未使用のコードを削除し、変数をインライン化し、コードを書き直して可能な限り小さくします。

参考までに、ここでGoogle Closure Compiler UIにアクセスできます http://closure-compiler.appspot.com/home

16
Samuel

AFAIK Closure CompilerのADVANCEDモードは、グローバルなデッドコードの削除(別名ツリーシェイク)と最適化が必要な場合、町で唯一のゲームです。これが、emscriptenやClojureScriptなどのプロジェクト、およびDart javascriptトランスレータがそれを使用する理由です。

12
John

これは古い質問ですが、新しい情報に出くわし、共有したいと思いました。 GitHubでRegPackと呼ばれる専用の縮小版 https://github.com/Siorki/RegPack を見つけました。小さい(1KB〜4KB)ファイルを最適化し、JavaScriptのCanvas、WebGL、およびAudioコンポーネントで動作することを目的としているため、専門と言います。結果はかなり驚異的ですが、作成しているJavaScriptの種類によっても異なります。

それを指摘して、私は書いたライブラリに対して標準モードでClosure Compilerを実行しました https://github.com/robertdmunn/gadget-ui を使用して、出力をUglifyJSと比較していますグラントを通して。基本コードは20KBで、UglifierとClosure Compiler(stdモード)の両方が10KBにしました。ほとんどの場合、私はそれで十分だと思います。クロージャの詳細モードでは、9KBに縮小されました。エッジの場合-Webスケール-10%小さいのはまともです。ただし、私の経験では、gzip圧縮によってファイルサイズが60〜80%削減されるため、gzipを使用した場合、拡張モードを使用して10%削減すると、標準モードよりも2〜4%だけ節約されます。 2〜4%はWeb規模で価値がありますが、ほとんどの開発者にとって、導入された潜在的な問題の価値はないかもしれません。

0
Robert Munn