首页 > 解决方案 > 忽略 VSCode 中的 DOM 类型

问题描述

我有 Visual Studio Code 1.51.1(真正的 VSCodium)和 TypeScript 4.0.3。给定一个 NodeJS 的大型项目和这个tsconfig.json文件:

{
  "compilerOptions": {
    "alwaysStrict": true,
    "noImplicitAny": true,
    "strictBindCallApply": true,
    "strictFunctionTypes": true,
    "baseUrl": ".",
    "esModuleInterop": true,
    "incremental": true,
    "outDir": "dist",
    "module": "CommonJS",
    "resolveJsonModule": true,
    "rootDir": ".",
    "sourceMap": true,
    "target": "ES2019",
    "lib": ["ES2019"],
    "typeRoots": ["./node_modules/@types"]
  },
  "typeRoots": ["*.d.ts"]
}
  

我仍然从lib.dom.d.ts应用程序包本身中获得有关 DOM(Web 浏览器 API)的建议:

/Applications/VSCodium.app/Contents/Resources/app/extensions/node_modules/typescript/lib/lib.dom.d.ts

我尝试设置noLib: falsetsc抱怨与lib选项冲突。如何确保 VSCode 做正确的事?我错过了什么吗?当尝试对一个小项目进行复制时,它似乎工作正常。

标签: typescriptvisual-studio-code

解决方案


排除 node_modulestsconfig.json以停止抱怨外部包:

{
  "compilerOptions": {
    "alwaysStrict": true,
    "noImplicitAny": true,
    "strictBindCallApply": true,
    "strictFunctionTypes": true,
    "baseUrl": ".",
    "esModuleInterop": true,
    "incremental": true,
    "outDir": "dist",
    "module": "CommonJS",
    "resolveJsonModule": true,
    "rootDir": ".",
    "sourceMap": true,
    "target": "ES2019",
    "lib": ["ES2019"],
    "typeRoots": ["./node_modules/@types"]
  },
  "typeRoots": ["*.d.ts"],
  "exclude": ["node_modules"]
}

推荐阅读