首页 > 解决方案 > 如何从错误检查中排除非项目目录?

问题描述

我看到我的项目在我的代码之外触发了很多 TypeScript 错误(例如 in <project root>\node_modules\webpack-chain\types\index.d.ts)。

我已排除 node_modules<project root>/tsconfig.json

{
  "extends": "@quasar/app/tsconfig-preset",
  "compilerOptions": {
    "baseUrl": ".",
    "noImplicitAny": false
  },
  "exclude": ["node_modules", "**/*.spec.ts"]
}

有没有一种特殊的方式我需要指示 WebStorm 跳过这个目录?

标签: typescriptwebstorm

解决方案


错误来自 Typescript 编译器服务,而不是来自 IDE。并且编译器 (1) 不应该尊重 IDE 排除过滤器 (2) 不会将定义的过滤器tsconfig.json(默认情况下排除 node_modules)应用于从包含文件引用的文件。见https://www.typescriptlang.org/tsconfig#exclude

重要提示:仅排除因包含设置而包含的文件的更改。由于代码中的导入语句、类型包含、/// <reference 指令或在文件列表中指定,由 exclude 指定的文件仍然可以成为代码库的一部分。
它不是一种阻止文件被包含在代码库中的机制——它只是改变了包含设置找到的内容。

因此,如果报告问题的文件包含(通过导入链)到您的任何项目.ts文件中,您将看到报告的编译器错误


推荐阅读