2

http://closure-compiler.appspot.comのクロージャコンパイラで次のコードをテストすると:

// ==ClosureCompiler==
// @output_file_name default.js
// @compilation_level ADVANCED_OPTIMIZATIONS
// @formatting pretty_print
// ==/ClosureCompiler==

// These get renamed
window.foo = {};
window.bar = {};

// These don't
window.uid = {};
window.test = {};

出力は次のとおりです。

window.a = {};
window.b = {};
window.uid = {};
window.test = {};

名前を変更する理由:

window.foo = {};
window.bar = {};

だがしかし:

window.uid = {};
window.test = {};

それは特定の言葉の問題のようですか?

4

1 に答える 1

6

アップデート

Closure-compiler の 20150315 リリース以降、型ベースの最適化がデフォルトで有効になっています。


--use_types_for_optimizationClosure Compiler は、フラグが有効になっていない限り、externs のオブジェクトで定義されたプロパティと同じ名前を持つプロパティの名前を変更しません。詳細については、プロジェクトの FAQを参照してください。

于 2012-10-01T14:04:53.533 に答える