3

公式リリースステートメントによると、バージョン1.4はクロージャーコンパイラーで圧縮されるように書き直されていますが、クロージャーコンパイラーのオンラインバージョンを使用する、 130の警告が表示されます。

これは私が使用するコードです。

// ==ClosureCompiler==
// @compilation_level ADVANCED_OPTIMIZATIONS
// @output_file_name default.js
// @code_url http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js
// ==/ClosureCompiler==

また、私が知る限り、コードにライブラリを含めると、クロージャコンパイラの真のメリットが得られるため、未使用の関数が削除されます。それでも、私のテストでは、ライブラリ自体を圧縮する以外に何もできないことが示されています。

私は何が間違っているのですか?どんな種類の洞察も大歓迎です。

4

2 に答える 2

10

jQuery 1.4はClosureCompilerと互換性がありますが、SIMPLE_OPTIMIZATIONS設定とのみ互換性があります。jQueryの公式の縮小バージョンは、実際にはこの設定でコンパイルされ、これによりファイルサイズが13%削減されます。John Resigによるこのコミットコメントからの引用:

YUICompressorの使用からGoogleコンパイラに切り替えました。縮小およびGzip圧縮されたファイルサイズが26,169バイトから22,839バイトに減少しました(ファイルサイズが13%減少)。

于 2010-04-04T10:48:15.837 に答える
2

jQueryは、アドバンストモードのClosureCompilerと(まだ)互換性がありません。そのメソッドチェーン構文は、実行速度を大幅に向上させるためのプロトタイプ仮想化に非常に容易に役立つため、互換性を持たせることは非常に良いことであることに同意します。

実際、人気のあるJavaScriptライブラリ(つまり、Closure Libraryを除く)の中で、DojoToolkitのみがClosureAdvancedモードと互換性があります。

http://dojo-toolkit.33424.n3.nabble.com/file/n2636749/Using_the_Dojo_Toolkit_with_the_Closure_Compiler.pdf?by-user=t

于 2011-03-09T03:52:46.877 に答える