为什么tsc忽略tsconfig.json中的include和exclude?

3

我有tsconfig.json文件:

{
  "compilerOptions": {
    "target": "ES6",
    "lib": [
      "DOM",
      "ES6"
    ]
  },
  "include": [
    "src/server/**/*"
  ],
  "exclude": [
    "node_modules",
    "dist",
    "public"
  ]
}

当我运行tsc --project tsconfig.json时,它完全忽略了includeexclude配置,并在node_modules编译失败。唯一成功的方法是tsc src/server/**/*.ts,但它没有使用配置文件。我验证了编译器处理配置文件,因为当我在"compilerOptions"中添加"watch": true时,它等待更改。我查看了documentation,但我不明白。它看起来像我已经将它放在了json文件的正确位置。有人有什么想法如何解决吗?

macOS Big Sur上的编译器版本:

% tsc -v
Version 4.0.5

2
尝试在您的tsconfig中添加"skipLibCheck":true。 - captain-yossarian from Ukraine
2个回答

0

如下面评论所写,我不得不添加 "skipLibCheck": true,因此最终的json文件看起来像:

{
  "compilerOptions": {
    "target": "ES6",
    "lib": [
      "DOM",
      "ES6"
    ],
    "skipLibCheck": true
  },
  "include": [
    "src/server/**/*"
  ],
  "exclude": [
    "node_modules",
    "dist",
    "public"
  ]
}

然后编译成功:

% tsc -p tsconfig.json 
% echo $?
0

-1

我曾经遇到过同样的问题,但是通过升级 TypeScript 我解决了它:

npm install -g typescript 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接