Frage

Ich habe eine JavaScript -Datei mit einem globalen Objekt, das nicht umbenannt werden darf (_gat vom Google Analytics Async Tracker).

Dieses Objekt darf nicht vom Google Closure Compiler umbenannt werden, da Google Analytics mit diesem spezifischen Namen nach einer Variablen sucht.

Ich habe mich mit den erwähnten JavaScript -DOC -Notationen befasst: http://code.google.com/closure/compiler/docs/js-for-compiler.html - Ich kann jedoch nichts über den "Schutz" einer Variablen finden.

Das Problem besteht, egal ob ich eine einfache oder erweiterte Zusammenstellung verwende.

Wie kann ich sicherstellen, dass die _gat Variable wird nicht umbenannt?

War es hilfreich?

Lösung

Verwendung Verschluss Compiler Web -App können Sie festlegen js_externs. Beziehen auf Fortgeschrittene Zusammenstellung und EXTERNS Weitere Beispiele.

// ==ClosureCompiler==
// @compilation_level ADVANCED_OPTIMIZATIONS
// @output_file_name default.js
// @js_externs _gat
// ==/ClosureCompiler==

Andere Tipps

Verwenden Sie die Funktion toge.exportsymbol von base.js. Dokumentation ist hier: http://clous-library.googlecode.com/svn/docs/clous_goog_base.js.html

Verwendung ist wie

goog.exportSymbol("_gat", _gat)

Sehen http://closuretools.blogspot.com/2011/01/property-by-any-other-name-tml der Teil über "alle nicht zeigten"

Das Einlegen bestimmter Vars in '' '>>>' Bob 'verhindert, dass sie vom Compiler umbenannt werden

Wenn es nicht als Teil des Code deklariert wird, den Sie zusammenstellen, ist eine externe Erklärung angemessen:http://code.google.com/closure/compiler/docs/api-tutorial3.html#externs

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top