我正在使用tsc构建任务。不幸的是,我总是从节点模块文件夹得到相同的错误

Executing task: .\node_modules\.bin\tsc.cmd --watch -p .\tsconfig.json <
node_modules/@types/node/index.d.ts(6208,55): error TS2304: Cannot find name 'Map'.
node_modules/@types/node/index.d.ts(6215,55): error TS2304: Cannot find name 'Set'.
node_modules/@types/node/index.d.ts(6219,64): error TS2304: Cannot find name 'Symbol'.
node_modules/@types/node/index.d.ts(6225,59): error TS2304: Cannot find name 'WeakMap'.
node_modules/@types/node/index.d.ts(6226,59): error TS2304: Cannot find name 'WeakSet'.
10:13:18 - Compilation complete. Watching for file changes.

我已经在tsconfig.json中添加了忽略目录


    {
      "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        "sourceMap": true,
        "strict": false,
        "noImplicitAny": false,
        "strictPropertyInitialization": false,
        "esModuleInterop": true,
      },
      "include": [
        "src/*"
      ],
      "exclude": [
        "node_modules",
        "./node_modules",
        "./node_modules/*",
        "./node_modules/@types/node/index.d.ts",
      ]
    }

我哪里做错了?我该怎么做才能忽略这些错误呢?

我使用的是VsCode和tsc 2.9.2版


当前回答

在tsconfig.json中设置"skipLibCheck": true

其他回答

我在typescript@3.2.1上遇到了这个问题,并通过升级到3.7.3修复了它。

请注意,对于typescript@3.2.1, skipLibCheck不会生效。当我升级TypeScript时,skipLibCheck: true工作。

If you find yourself here and none of the other answers is solving the problem, check to make sure that you haven't set maxNodeModuleJsDepth. If you have allowJs enabled this option lets TypeScript attempt to infer types from modules in node_modules, and skipLibCheck doesn't have any effect on that, because it's reading javascript files and not type declarations. The default setting for maxNodeModuleJsDepth is 0, and in the vast majority of cases that's what you want (and you should prefer using @types packages instead of turning this on).

快速补救是跳过检查

{
  "compilerOptions": {
    "skipLibCheck": true
  },
}

您可以在命令行上完成此操作

tsc --skipLibCheck

升级你的typescript和ts-node: :“打印稿4.9.4” :“ts-node 10.9.1”

并在构建或将其放在tsconfig的compilerOtions中时使用——skipLibCheck标志。json文件("skipLibCheck": true)…