如何创build跨越多个文件的TypeScript Nodejs模块

我正在尝试使用TypeScript创build一个带有单个名称空间的Node.js模块。 我需要模块的类在不同的文件,并相互引用。 我也需要这个模块来利用其他节点模块。 但是,如果我理解正确的话,如果命名空间包含在单个文件中,或者命名空间不使用外部模块,TypeScript只支持命名空间。

有些人提出了使用后构build工具来使最终模块工作,这是很好的,但没有解决在开发过程中结合跨文件命名空间和导入时TypeScript引发的所有错误。

确实最接近的解决scheme是为每个文件创build一个模块,并创build一个import互联网?

我发现最适合我的模块依赖关系是始终使用源引用,例如:

/// <reference path="other.ts" /> 

既然你不能从tsc生成单文件输出,如果你使用语言级的input/模块,我已经使用require作为一个函数,等等。

这似乎是由TypeScript开发人员自己select的相同解决scheme (search“require(”there))。如silentorb的评论所build议,可以将require函数声明为以下内容的一些变体(或使用DefinitelyTyped ):

 declare function require(name: string): any; 

请注意,TS论坛上的整个TS模块性话题经常有很多讨论( 最近的一个例子 )。