2014-03-12 4 views
0

code below을 참조하십시오.typescript/JS 모듈 패턴. 여러 파일로 분할

module AAA { 
    export module user { 
     export var am = {} 
    } 
} 

//1. 
module AAA { 
    export module user { 
     am['x']= 'y'; 
    } 
} 

//2. 
module AAA { 
    export module user { 
     user.am['x']= 'y'; 
    } 
} 

모듈을 2 개 (또는 그 이상) 파일로 분할하려고합니다. 첫 번째 (1) 형태가 작동하지 않습니다 때로는 생성 된 코드로 (놀이터에서 생성 할 수 없습니다)처럼 보이는

var AAA; 
(function (AAA) { 
    (function (_user) { 
     AAA._user.am['x'] = 'y'; 
    })(AAA.user || (AAA.user = {})); 
    var user = AAA.user; 
})(AAA || (AAA = {})); 

을 (밑줄 유의)하지만, 두 번째 (2) 형태는 잘 작동하고 I 변수 am에 대한 인텔리 센스를 얻으십시오. 참조 된 파일의 순서를 보장한다면이 방법이 신뢰할 수 있습니까? 또는 루트에서 AAA.user.am['x']= 'y'; 또는 더 나은 방법을 참조해야합니까?

또한 생성 된 코드에는 두 개의 변수 선언 var AAA;이 있습니다. 이로 인해 문제가 발생합니까? minifier를 사용하면 제거 할 수 있습니까?

감사합니다.

답변

1

이것은 1.0RC 컴파일러의 버그입니다. See this page 핫픽스 tsc.js 파일을 구할 수 있습니다.

+0

감사합니다. 감사합니다. u는 다른 qn에 대답 해주십시오.'또한, 생성 된 코드에는 var AAA;라는 두 개의 변수 선언이 있습니다. 이로 인해 문제가 발생합니까? minifier를 사용하면 제거 할 수 있습니까? – bsr

관련 문제