网站搜索

node.js - 无论如何,Typescript 都不会排除 tsconfig 的 ‘excludes’ 数组中的文件夹(TS 3.7.2)


我已经阅读了无数的帖子和文档,并尝试了数十种不同的方法来让它工作,但无论如何它都不会忽略那个测试文件夹。

我的 TS 配置:

{
  "compilerOptions": {
    "target": "es6",
    "module": "commonjs",
    "lib": ["es2018", "dom"],
    "declaration": true,
    "declarationMap": true,
    "sourceMap": true,
    "outDir": "lib",
    "strict": true,
    "experimentalDecorators": true,
    "esModuleInterop": true,
    "strictNullChecks": true,
    "strictPropertyInitialization": false,
    "noImplicitAny": true,
    "moduleResolution": "node"
  },
  "include": ["src"],
  "exclude": ["**/testing/*", "testing", "**/testing/**/*"]
}

我的文件夹结构:

答案#1

事实证明排除像那样的文件夹是相当没有意义的,而我看到的带有“src”文件夹等的整个文件夹结构已经是问题出现的迹象,相比之下,我的 tsconfig 应该只是将文件的 JS 结果直接放在“src”中,并直接放入“lib”中。

我的规范文件位于 SRC 中,它们依赖于 'testing' 文件夹内的资源。一旦我使用以下方式排除了规范文件:

  "exclude": ["src/**/*.spec.ts"]

我根本不需要在 'excludes' 数组中指定测试文件夹。现在 tsc 的结果输出了这个文件夹/文件结构,而无需对 tsconfig 做任何其他更改: