我熟悉使用字符串文字和导出以防止Closure重命名变量的概念,但是如何防止Closure使用由其他代码用作全局变量的变量名(我没有写过) )?
示例,下面是为闭包的成员函数创建的:
function $() {
var a;
if(1 > N) {
return-1
}
a = Math.pow(1 + Q, F);
return .....
}
加载jQuery时,上面会被破坏。
我正在使用命令行编译器,这是我的命令行:
java -jar compiler.jar --compilation_level ADVANCED_OPTIMIZATIONS --formatting = pretty_print --output_wrapper PGS --js common.v2.0.raw.js --module common_min:1 --js page_code.raw.js - module page_code_min:1:common_min
我认为output_wrapper
选项用于解决这个问题,但要么我误解了它的目的,要么我误用它。
TIA。
答案 0 :(得分:3)
答案是externs。
Externs在外部代码中定义符号。它们有两个主要目的:
在您的情况下,您可以包含jQuery的现有extern。 project contrib folder中的每个主要版本都有一个。