📜  typescript 不读取 .d.ts - TypeScript (1)

📅  最后修改于: 2023-12-03 15:05:39.473000             🧑  作者: Mango

TypeScript 不读取 .d.ts

当我们在使用 TypeScript 的时候,通常会有一些声明文件(.d.ts)用于描述不是 TypeScript 编写的 JavaScript 库或框架的类型信息。但是有时候我们发现 TypeScript 不会读取这些声明文件,这可能会导致类型推断不正确,代码智能提示不工作等问题。

为什么 TypeScript 不会读取 .d.ts 文件

有时候 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 不会读取 .d.ts 文件,可能是因为 VS Code 的 TypeScript 插件没有正确配置。可以按照以下步骤来配置:

  1. 打开 VS Code,按下 Ctrl + Shift + P (在 Mac 上是 Cmd + Shift + P),在命令面板中输入 Preferences: Open Workspace Settings,打开工作区设置;
  2. 在工作区设置中,找到 "typescript.preferences.importModuleSpecifier";
  3. 将其设为 "project-relative"
  4. 关闭 VS Code 并重新打开。
总结

TypeScript 不会读取 .d.ts 文件可能是因为编译选项没有设置正确或者 TypeScript 插件没有正确配置。可以按照以上方法进行配置,以让 TypeScript 正确读取 .d.ts 文件,从而让代码具有更好的类型推断和智能提示。