Javascript 跳过闭包编译器中的全局变量冲突
我正在使用HTML5 WebWorkers,我遇到了这样的问题(在使用闭包编译器编译脚本时): 我有两个文件(.js),其中包含以下代码:Javascript 跳过闭包编译器中的全局变量冲突,javascript,node.js,google-closure-compiler,Javascript,Node.js,Google Closure Compiler,我正在使用HTML5 WebWorkers,我遇到了这样的问题(在使用闭包编译器编译脚本时): 我有两个文件(.js),其中包含以下代码: ... var encoder = null; ... 换句话说,我有两个同名的全局变量 这些文件将被用作我想要启动的两个worker的源,正如我所知,这两个文件都将在各自的范围内执行,并且在运行时不会发生冲突 还有一个条件是,我希望一次编译两个文件(模块) --module module1:1 --js file --module module2
...
var encoder = null;
...
换句话说,我有两个同名的全局变量
这些文件将被用作我想要启动的两个worker的源,正如我所知,这两个文件都将在各自的范围内执行,并且在运行时不会发生冲突
还有一个条件是,我希望一次编译两个文件(模块)
--module module1:1
--js file
--module module2:1
--js file2.js
但是,闭包编译器检测到这个冲突,并说module2应该依赖于module1,因为两者都有相同的全局变量
我该怎么办?有几种不同的选择:
window.encoder=window['encoder']|{}代码>
@suppress{duplicate}
注释添加到第二个变量定义中有几种不同的选择:
window.encoder=window['encoder']|{}代码>
@suppress{duplicate}
注释添加到第二个变量定义中闭包编译器显示的是可以忽略的错误还是警告?我尝试过使用“静默”模式,但不起作用。闭包编译器显示的是可以忽略的错误还是警告?我尝试过使用“静默”模式,但不起作用。谢谢你,查德,你对@suppress annotation的建议正是我需要的。谢谢你,查德,你对@suppress annotation的建议正是我需要的。