因此,我在Visual Studio中有一个项目是TypeScript库。
我注意到,将代码拆分为多个文件(具有相同的顶级名称空间)和不同的文件夹时,我仍然可以编译所有内容而无需其他三斜杠引用。
现在,我认为这很有意义,因为TS手册中指出:
“命名空间在全局命名空间中被简单地命名为JavaScript对象。这使命名空间成为一种非常简单的构造。它们可以跨越多个文件,并且可以使用--outFile进行串联。” >
问题是,我使用的是--outDir
而不是--outFile
,而且TS手册还介绍了如何拆分名称空间:
“由于文件之间存在依赖性,因此我们将添加参考标记以告知编译器文件之间的关系。”
现在,我当然在文件之间具有依赖关系,但是通过使用export
关键字可以轻松解决这些依赖关系,如下所示:
在某些FileA.ts
中,我有这样的东西:
namespace LibararyNS
{
export namespace FuncNS
{
export class SomeClass extends SomeOtherClass
{
...
}
}
}
然后在另一个文件中,我无需使用引用指令即可引用SomeClass。
但是现在我问自己这些引用指令用于什么用例?
我希望有人能为我阐明这一点。谢谢。
PS。
我已阅读this question,但我认为它不能回答我的问题。
甚至不知道它是否仍然有用,因为该问题已有将近5年的历史了,我的定义也可以在没有任何参考的情况下使用。我只是将它们放在我的解决方案资源管理器中。