我在使用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);
无济于事。
答案 0 :(得分:3)
作为评论中提到的Felix Kling,externs files用于防止重命名外部定义的符号。 Closure Compiler源代码在以下目录下有externs文件:
外部文件 contrib / externs / w3c_audio.js 包括webkitAudioContext
。
请参阅plovr externs 配置选项。