/// <reference types =“node”>是什么意思?

时间:2018-01-11 21:34:32

标签: typescript typescript-typings

我遇到了打字稿和节点的问题,偶然发现了一个修复程序(我收到了一个TS投诉,其中没有定义过程&#39;如在Node中的process.env中那样)。我所要做的只是在我的文件顶部粘贴一行:

/// <reference types="node" />

我不懂语法。打字稿编译器是否以某种方式阅读评论?这是如何工作的?

1 个答案:

答案 0 :(得分:10)

这些被称为“Triple Slash Directives”(Typescript docs)

正如该链接的第一行所述:

  

Triple-slash指令是包含单个XML标记的单行注释。注释的内容用作编译器指令。

所以,是的,打字稿编译器会在编译过程中选择它并采取适当的措施。

在这种情况下,由于您使用的是types指令,因此您告诉编译器此文件依赖于node类型。

也就是说,文档还说明types指令:

  

仅在您手动创作d.ts文件

时才使用这些指令

因此,如果您添加了这个文件而不是.ts文件,那么您可能会为自己设置更多问题。

  

要声明对.ts文件中@types包的依赖,请在命令行或tsconfig.json中使用--types。有关详细信息,请参阅using @types, typeRoots and types in tsconfig.json files