我遇到了打字稿和节点的问题,偶然发现了一个修复程序(我收到了一个TS投诉,其中没有定义过程'如在Node中的process.env中那样)。我所要做的只是在我的文件顶部粘贴一行:
/// <reference types="node" />
我不懂语法。打字稿编译器是否以某种方式阅读评论?这是如何工作的?
答案 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。