2
我无法得到这个代码结构的生存与谷歌关闭编译器混淆。下面是一些示例代码:的Javascript模块模式,原型和谷歌关闭
var MyModule = (function()
{
function myModule()
{
// Constructor
}
function moduleFoo(url)
{
// Method
}
function moduleBar()
{
// Method
}
myModule.prototype = {
constructor: myModule,
foo: moduleFoo,
bar: moduleBar
};
return myModule;
})();
其他地方在我的代码,我需要能够写东西像下面这样:
var myMod = new MyModule();
myMod.foo();
myMod.bar();
但是编译器被重命名的一切(如预期)。如何在混淆后将我在代码中其他位置定义的原型制作成原型?我曾尝试导出如下:
// In place of the prototype object above
myModule.prototype['constructor'] = myModule;
myModule.prototype['foo'] = moduleFoo;
myModule.prototype['bar'] = moduleBar;
window['myModule'] = myModule;
但事情似乎打破自己的封闭相应的执行既可以当原型方法被调用或当。
任何帮助表示赞赏。