在Visual Code下 并使用tslint检查* .ts和* .js文件, 在.js文件中未检测到未声明的变量 因为它们在.ts文件中。
有什么想法吗?
正如您所看到的,在两个文件上都没有检测到控制台:.js和.ts iterableGGG未声明=>在ts文件中,它以红色下划线。但不是在js文件中。
注意:从lodash导入就是有一个模块,所以ts文件中的变量不是全局的。
tslint.json
{
"defaultSeverity": "error",
"extends": [
"tslint:recommended"
],
"jsRules": {},
"rules": {
"no-any": false
},
"rulesDirectory": []
}
答案 0 :(得分:0)
我相信如果我没弄错的话,jsRules应该如下所示。
"jsRules": {
"no-use-before-declare": true
}
答案 1 :(得分:0)
我找到了解决方案。
在TS文件中,tsc NOT tslint检测到未声明的变量iterableGGG,您可以观察到,因为在VC中,警告/错误弹出消息以[ts]而不是[tslint]开头。当tslint检测到时,有一个规则名称(例如:" no-use-before-declare") 您还可以在CLI中看到,直接执行命令tsc和tslint。你可以检查tsc是否引发了这种类型的错误。
>tsc
src/examplJS.js(3,19): error TS2552: Cannot find name 'iterableGGG'. Did you mean 'iterable' ?
src/examplTS.js(5,19): error TS2304: Cannot find name 'iterableGGG'.
所以转到tsc config tsconfig.json,只需激活" checkJs"为true,VC也会显示JS代码和TS
的错误" allowJs":true,/ *允许编译javascript文件。 * /
" checkJs":true,/ *报告.js文件中的错误。 * /