我在用Google Closure javascript编写的应用程序中使用了webkitAudioContext构造函数,它是webkit浏览器的原生函数。
在高级模式下使用Plovr编译javascript后,我发现webkitAudioContext对象的decodeAudioData方法被重命名为模糊术语c。简而言之,
编译前:
var myAudioContext = new webkitAudioContext();
myAudioContext.decodeAudioData(fileData, myCallBackFunction);编译后:
(new webkitAudioContext).c(a,b);如何告诉闭包javascript编译器不要混淆webkitAudioContext的方法名?我试着给你打电话
goog.exportSymbol('webkitAudioContext.prototype.decodeAudioData', webkitAudioContext.prototype.decodeAudioData);无济于事。
发布于 2012-09-04 10:52:37
正如Felix Kling在他的评论中提到的,externs files用于防止重命名外部定义的符号。Closure Compiler源代码在以下目录下有externs文件:
中继
|--
|-- contrib
--|--
externs文件contrib/externs/包含webkitAudioContext。
请参见plovr 配置选项。
https://stackoverflow.com/questions/12255959
复制相似问题