打字稿参考评论工作

时间:2015-01-22 21:12:30

标签: visual-studio-2013 typescript

我正在使用Visual Studio 2013 Ultimate Update 4和Typescript。

我有一个像MyClass.ts这样的课程:

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

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

另一个MyInterface.ts:

export = MyModule;

module MyModule {

interface IMyClass {
    ...
}
}

VS2013没有在MyClass文件中确认IMyClass引用(也没有intellisense),但引用就像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文件使用引用注释,导出的模块名称可以是相同的??

我发现很多关于打字稿中模块的东西让人感到困惑。

提前致谢。

1 个答案:

答案 0 :(得分:0)

  

VS2013未在MyClass文件中确认IMyClass引用(也没有智能感知),

使用外部模块的两个TypeScript文件之间的模块MyModule是不同的。因此,您不会在第二个文件interface IMyClass中获得MyModule

提示:您可能希望在TypeScript中查看内部外部模块(提示:如果使用外部模块,请不要使用内部模块)。 https://www.youtube.com/watch?v=KDrWLMUY0R0&hd=1