如何告诉Closure javascript编译器不要混淆webkitAudioContext方法的名称?

时间:2012-09-04 02:09:27

标签: javascript google-closure-compiler google-closure-library

我在使用Google Closure javascript编写的应用程序中使用了webkitAudioContext构造函数,这是webkit浏览器的原生构造函数。

在高级模式下使用Plovr编译我的javascript后,我发现decodeAudioData对象的webkitAudioContext方法已重命名为模糊术语c。要成为一个人,

编译前:

var myAudioContext = new webkitAudioContext();
myAudioContext.decodeAudioData(fileData, myCallBackFunction);

编译后:

(new webkitAudioContext).c(a,b);

如何告诉Closure javascript编译器不要混淆webkitAudioContext方法的名称?我试过打电话

goog.exportSymbol('webkitAudioContext.prototype.decodeAudioData', webkitAudioContext.prototype.decodeAudioData);

无济于事。

1 个答案:

答案 0 :(得分:3)

作为评论中提到的Felix Klingexterns files用于防止重命名外部定义的符号。 Closure Compiler源代码在以下目录下有externs文件:

  

<强>躯干
  | - externs
  | - contrib
  | - externs

外部文件 contrib / externs / w3c_audio.js 包括webkitAudioContext

请参阅plovr externs 配置选项。