修复TS2688:在node_modules中找不到类型定义文件

问题描述

运行tsc时,我得到很多TS2688: Cannot find type deFinition file for 'someLibrary' 这些库来自node_modules。我试图在tsconfig中排除node_modulesskipLibCheck,但是它们都不适合我。知道为什么会这样吗?

这是我的tsconfig.json

{
  "ts-node": {
    "files": true,"emit": true,"compilerHost": true
  },"compilerOptions": {
    "experimentalDecorators": true,"emitDecoratorMetadata": true,"target": "es2016","sourceMap": true,"typeRoots" : ["./node_modules","./node_modules/@types"],"jsx": "react","allowSyntheticDefaultImports": true,"skipLibCheck": true,"esModuleInterop": true,"strict": true,"forceConsistentCasingInFileNames": true,"module": "commonjs","moduleResolution": "node","resolveJsonModule": true,"isolatedModules": true,},"exclude": [
    "node_modules"
  ]
}

解决方法

问题是错误的typeRoots。应该使用默认的./node_modules/@types