📅  最后修改于: 2023-12-03 15:05:39.473000             🧑  作者: Mango
当我们在使用 TypeScript 的时候,通常会有一些声明文件(.d.ts
)用于描述不是 TypeScript 编写的 JavaScript 库或框架的类型信息。但是有时候我们发现 TypeScript 不会读取这些声明文件,这可能会导致类型推断不正确,代码智能提示不工作等问题。
有时候 TypeScript 不会读取 .d.ts 文件是因为 TypeScript 的编译选项没有设置正确。默认情况下,TypeScript 编译器只会编译 .ts
, .tsx
和 .js
文件,要让编译器编译 .d.ts
文件,我们需要在 tsconfig.json
文件中加入以下配置:
{
"compilerOptions": {
"declaration": true,
"allowJs": true,
"checkJs": true
}
}
其中:
"declaration": true
:告诉编译器生成 .d.ts
文件;"allowJs": true
:允许编译器编译 .js
文件;"checkJs": true
:告诉编译器检查 .js
文件中的类型信息。在 VS Code 中,如果 TypeScript 不会读取 .d.ts
文件,可能是因为 VS Code 的 TypeScript 插件没有正确配置。可以按照以下步骤来配置:
Ctrl + Shift + P
(在 Mac 上是 Cmd + Shift + P
),在命令面板中输入 Preferences: Open Workspace Settings
,打开工作区设置;"typescript.preferences.importModuleSpecifier"
;"project-relative"
;TypeScript 不会读取 .d.ts
文件可能是因为编译选项没有设置正确或者 TypeScript 插件没有正确配置。可以按照以上方法进行配置,以让 TypeScript 正确读取 .d.ts
文件,从而让代码具有更好的类型推断和智能提示。