我正在尝试构建一个谷歌浏览器扩展程序,并最终使用谷歌闭包编译器进行高级优化,但它最终打破了脚本并引入了未定义的' e'等等。
在简单优化上,它可以工作,想知道可能导致脚本中断的原因以及我的代码中是否有任何不应该在高级优化模式下不兼容的事情。
答案 0 :(得分:0)
我发现通过闭包编译器进行高级优化,它将删除chrome扩展背景页面和扩展客户端UI之间共享的变量,如浏览器操作或选项页面。为了解决这个问题,我在背景页面上替换声明,例如,这可以通过chrome.extension.getBackgroundPage().foo
在选项页面中找到。
var foo = { };
带
window.foo = { };
然后缩小名称,但在背景页面和选项页面之间共享相同的名称。
有关详细信息,请参阅我的博文How to use closure compiler advanced optimizations on chrome extension。