我试图了解TypeScript项目如何解决通过npm及其类型定义文件安装的模块的导入。
据我所知(并遵循TypeScript documentation),TypeScript用于模块解析的方式有两种:
使用相对路径:如果模块文件存在(myModule.js
,myModule.tsx
和myModule.d.ts
),或者在名为{{的目录中,它将检查当前目录1}}(包含myModule
,index.js
和index.tsx
)
使用非相对路径:它将通过检查index.d.ts
文件夹检查导入以遵循NodeJS行为,方式与对相对路径的引用相同,如果没有则跳过目录结果
所以看起来很容易理解。我不明白的是,当使用node_modules
导入时,它是如何解析类型定义文件的。我需要理解这一点,以便正确构建我的项目,并理解为什么有时我的模块/类型定义找不到。
我不明白它是如何知道的,npm install @types/myModule
中的文件夹包含node_modules/@types/myModule
的类型定义:哪里存储了必须在该文件夹中检查的信息?
奖金:导入和管理类型定义文件的最佳方法是什么?是否更好的安装相关模块的myModule
包,或下载@types
并将其放在file.d.ts
的模块文件夹中?
非常感谢任何帮助和/或参考。