簡體   English   中英

防止閉包編譯器重命名某些變量

[英]Preventing closure compiler from renaming certain variables

我有一個帶有全局對象的javascript文件,不能重命名(來自Google Analytics異步跟蹤器的_gat )。

Google Closure編譯器不得重命名此對象,因為Google Analytics會查找具有此特定名稱的變量。

我查看了提到的Javascript文檔符號: http//code.google.com/closure/compiler/docs/js-for-compiler.html - 但是,我找不到有關“保護”的任何內容變量。

無論我使用簡單編碼還是高級編譯,問題都存在。

如何確保不重命名_gat變量?

使用Closure Compiler Web應用程序,您可以設置js_externs 有關更多示例,請參閱高級編譯和外部

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

使用base.js中的goog.exportSymbol函數。 文檔在這里: http//closure-library.googlecode.com/svn/docs/closure_goog_base.js.html

用法就像

goog.exportSymbol("_gat", _gat)

請參閱http://closuretools.blogspot.com/2011/01/property-by-any-other-name-part-1.html關於“所有未引用的”部分

將某些變量置於''>>>'bob'中可防止它們被編譯器重命名

如果它未被聲明為您編譯的代碼的一部分,則外部聲明是合適的: http//code.google.com/closure/compiler/docs/api-tutorial3.html#externs

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM