2017-10-02 3 views
2

Ich verwende Closing Compiler für mein Projekt.Closure Compiler: Umbenennen der Variablen und ihrer Eigenschaften

Einer meiner Projektdateien hat eine Erklärung wie:

var data = window.somedata || {}; 

Die Datei gibt diese object, die von anderen Dateien verwendet wird. Closure Compiler benennt alle Eigenschaften dieser Daten object (im erweiterten Modus), wenn es verwendet wird.

Wie kann der Compiler angewiesen werden, keine Eigenschaft in Bezug auf diese Variable umzubenennen?

+0

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

Antwort

0

Sie können Umbenennung entweder durch Verwendung von Anführungszeichen für jede Eigenschaft Zugriff verhindern:

console.log(data['myprop']) 

oder von Externen verwenden. Externes sind separate Dateien, die Typen definieren.

extern

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

Quelle

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

More about writing externs

+0

Ist es möglich den Closing Compiler vom Umbenennen der Eigenschaften des FileObj nur durch die Erwähnung des Objekts und nicht aller seiner Eigenschaften und Untereigenschaften explizit? –

+0

Nein - Sie müssen jede Eigenschaft als extern angeben, um die Umbenennung zu blockieren. –

Verwandte Themen