了解 Node JS 和 TypeScript 中的类型定义文件

Jac*_*cks 6 javascript node.js typescript

我试图了解 TypeScript 项目如何解析通过 npm 安装的模块及其类型定义文件的导入。

据我所知(并遵循TypeScript 文档),TypeScript有两种方式用于模块解析:

  • 使用相对路径:它将检查当前目录中的模块文件是否存在(myModule.js,myModule.tsxmyModule.d.ts)或位于名为myModule(包含index.js,index.tsxindex.d.ts)的目录中

  • 使用非相对路径:它将检查 NodeJS 行为后的导入node_modules,方法是以与相对路径的引用相同的方式检入文件夹,如果未找到则跳转目录

所以看起来很容易理解。我不明白,是怎么解决的类型定义文件采用进口的时候npm install @types/myModule。我需要理解这一点才能正确构建我的项目,并理解为什么有时找不到我的模块/类型定义。

我不明白它是如何知道“其中的文件夹node_modules/@types/myModule包含以下类型的定义myModule:它必须在该文件夹中检查的信息存储在哪里?

奖励:导入和管理类型定义文件的最佳方法是什么?是安装@types相关模块的包,还是下载file.d.ts并将其放在模块文件夹中更好node_modules

非常感谢任何帮助和/或参考。