2015-01-22 3 views
0

Visual Studio 2013 Ultimate Update 4 및 Typescript를 사용하고 있습니다. ,작동에 대한 Typescript 참조 설명

export = MyModule; 

module MyModule { 

interface IMyClass { 
    ... 
} 
} 

VS2013은 (중 어떤 인텔리)에 MyClass의 파일에서 IMyClass 참조를 인정하지 않는 :

/// <reference path="interfaces/IMyClass"/> 
export = MyModule; 

module MyModule { 
class MyClass { 
    constructor(myObject: IMyClass){....} 
    ... 
} 
} 

그리고 다른 MyInterface.ts :

은 내가 MyClass.ts 같은 클래스가 하지만 참조가 VS처럼 볼 수 있습니다 (파일을 찾을 수 없다는 빨간색 밑줄 없음).

인터페이스 파일 이름을 MyInterface.d.ts로 변경하면 동일한 작업이 수행됩니다.

나는이에 MyInterface.d.ts 내부의 인터페이스를 변경하는 경우 : 그것뿐만 아니라 실패

//export = MyModule ; 

declare module MyModule { 

interface IMyClass { 
    ... 
} 
} 

합니다.

나는이에 MyInterface.d.ts 내부의 인터페이스를 변경하는 경우 : 작동

//export = MyInterfaces ; 

declare module MyInterfaces { 

interface IMyClass { 
    ... 
} 
} 

합니다.

내가 누락 된 항목이 있습니까? 따라서 .d.ts 파일에 대한 참조 주석 만 사용할 수 있으며 내 보낸 모듈 이름은 동일 할 수 있습니다 ??

혼란을 일으키기 위해 타이프 스크립트 (formcript)에서 모듈 주위에 많은 것을 발견했습니다.

미리 감사드립니다.

답변

0

VS2013는

모듈는 별개 외부 모듈을 사용 MyModule 둘 사이의 타이프 파일 (하나 아니오 인텔리)에 MyClass의 파일에 IMyClass 참조 인정되지 않는다. 따라서 두 번째 파일 MyModule에서 interface IMyClass을 사용할 수 없습니다.

팁 : 타이프에서 내부외부 모듈을 검토 할 수 있습니다 (힌트 : 외부 모듈을 사용하는 경우 내부 사람을 사용하지 않음). https://www.youtube.com/watch?v=KDrWLMUY0R0&hd=1

+0

감사합니다. 참고로 Typescript 언어 사양을 사용했습니다. 2.3에서 보았습니다. "인터페이스, 열거 형 및 내부 모듈은"개방형 "이며 공통 루트와 관련하여 인터페이스, 열거 형 및 내부 모듈 선언이 자동으로 병합됨을 의미합니다." 외부 모듈이 동일한 기능을 수행 할 수 없다는 것을 알 수 있습니다. 외부 모듈이 개방형입니까? – Brandon