我正在执行此任务:
{
"taskName": "tsc watch",
"command": "tsc -w",
"type": "shell",
"problemMatcher": "$tsc-watch"
}
使用此tsconfig:
{
"compileOnSave": true,
"files": [
"src/index.ts"
],
"compilerOptions": {
"module": "commonjs",
"sourceMap": true,
"outDir": "dist/"
},
"exclude": [
"node_modules"
]
}
文件index.ts
中只有一行:
console.log('Is it working?');
"问题"选项卡中填充了来自随机npm模块的HTML相关警告。为什么?我怎么阻止它?
编辑1:
通过从资源管理器中排除node_modules文件夹,我设法找到了一个有效的黑客:
/* settings.json */
{
"files.exclude": {
"**/node_modules": true
}
}
然而,这是一个黑客,我仍然想要一个正确的答案..
答案 0 :(得分:8)
我也偶然发现了这个问题。
我找到的唯一解决方案是添加skipLibCheck
选项并在我的tsconfig.json的compilerOptions
中将其设置为true:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false,
"skipLibCheck": true,
"rootDir": "client/app"
},
"exclude": [
"client/node_modules/"
]
}
根据the doc,它将跳过所有声明文件(* .d.ts)的类型检查,这些声明文件就是我的情况。
希望这有帮助,
答案 1 :(得分:1)
通过在 typescript
中将 devDependencies
包从 dependencies
更改为 package.json
为我解决了这个问题。