如何创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模块性话题经常有很多讨论( 最近的一个例子 )。