当运行tsc时,我得到了许多TS2688: Cannot find type definition file for 'someLibrary'
这些库来自node_modules
。我试图在tsconfig中排除node_modules
和skipLibCheck
,但它们都不适用。知道为什么会发生这种情况吗?
这是我的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"
]
}
3条答案
按热度按时间sf6xfgos1#
问题是
typeRoots
错误。应使用默认./node_modules/@types
dsekswqp2#
有点晚了,但是我在项目目录外安装非全局npm模块时遇到了这个问题,我花了太长时间才意识到。
ddarikpa3#
在
ts.config.json
中,你已经默认输入了typeRoots,如下所示:"compilerOptions": { ... "typeRoots": ["./node_modules/@types"], }