2
Google Closure Compiler로 난독 화 된 상태에서도이 코드 구조가 유지되는 데 문제가 있습니다. 여기에 몇 가지 예제 코드입니다 : 자바 스크립트 모듈 패턴, 프로토 타입 및 Google Closure
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;
그러나 프로토 타입 메소드가 호출되거나 해당 클로저가 실행될 때 문제가있는 것으로 보인다.
도움을 주시면 감사하겠습니다.