2017-10-02 13 views
2

私は自分のプロジェクトにクロージャコンパイラを使用しています。他のファイルで使用されているクローズコンパイラ:変数名とそのプロパティの名前変更

var data = window.somedata || {}; 

ファイルに戻り、このobject

私のプロジェクトファイルの1つのような宣言があります。クロージャコンパイラは、このデータのすべてのプロパティの名前を変更するときに使用します(アドバンストモードで)。

この変数に関連するプロパティの名前を変更しないようにコンパイラに指示する方法を教えてください。

+0

https://developers.google.com/closure/compiler/docs/api-tutorial3#externs – Sirko

答えて

0

あなたはすべてのプロパティにアクセスするためのいずれかを使用して、引用符で名前の変更を防止することができます

console.log(data['myprop']) 

あるいは外部宣言を使用します。 Externsは型を定義する別々のファイルです。

のextern

/** @typedef {{prop1: string, prop2: boolean}} */ 
var FileObj; 

ソース

var data = window.somedata || /** @type {FileObj} */ ({}); 

More about writing externs

+0

クロージャーコンパイラのプロパティの名前を変更することを制限することは可能ですか? FileObjはそのオブジェクトとそのプロパティとサブプロパティのすべてを明示的に言及するだけではありませんか? –

+0

いいえ - すべてのプロパティを外部として指定して、名前の変更をブロックする必要があります。 –

関連する問題