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;
但事情似乎打破自己的封閉相應的執行既可以當原型方法被調用或當。
任何幫助表示讚賞。