2

私が何について話しているのかわからない場合は、これをチェックしてください: http://closure-compiler.appspot.com/home (これは JavaScript ミニファイアーです)


彼らのサイトでは、次のように述べています。

Closure Compiler は、JavaScript をコンパクトで高性能なコードにコンパイルします。コンパイラはデッド コードを削除し、残っているコードを書き直して最小化することで、ダウンロードしてすばやく実行できるようにします。また、構文、変数参照、および型をチェックし、一般的な JavaScript の落とし穴について警告します。これらのチェックと最適化は、バグが少なく保守しやすいアプリを作成するのに役立ちます。

しかし、誰かが本当にこの Closure Compiler が私のコードに何をするのかを詳しく説明できますか?

4

2 に答える 2

2

Closure コンパイラはコードをコンパイルし、標準の最適化手法をコードに実行します。

結果として得られるコードは、表面的に見ると類似性がある場合とない場合がありますが、通常はまったく同じように機能します。

于 2012-07-14T17:56:36.187 に答える
1

https://developers.google.com/closure/compiler/docs/compilation_levels

ADVANCED_OPTIMIZATIONS 変換には次のものが含まれます。

  • より積極的な名前変更:
    SIMPLE_OPTIMIZATIONS を使用したコンパイルでは、関数内のパラメーターと変数の名前のみが変更されます。ADVANCED_OPTIMIZATIONS は、グローバル変数、関数名、およびプロパティの名前も変更します。

  • デッド コードの削除:
    ADVANCED_OPTIMIZATIONS を使用したコンパイルにより、到達不可能であることが証明されているコードが削除されます。これは、大規模なライブラリと組み合わせると特に便利です。大きなライブラリ ファイルから少数の関数のみを使用する場合、コンパイラはそれらの関数を除くすべてを出力から削除できます。

  • グローバルなインライン化:
    ADVANCED_OPTIMIZATIONS を使用したコンパイルは、一部の関数呼び出しを関数の本体に置き換えます。この変換は「インライン化」として知られています。コンパイラは、インライン化が安全でスペースを節約できると判断した場合にのみ、関数をインライン化します。ADVANCED_OPTIMIZATIONS を使用したコンパイルでは、コンパイラが安全に実行できると判断した場合、定数と一部の変数もインライン化されます。

于 2012-07-14T17:56:06.477 に答える