tslint未检测* .js文件中的未声明变量

时间:2017-08-02 15:38:56

标签: javascript visual-studio typescript tslint

在Visual Code下 并使用tslint检查* .ts和* .js文件, 在.js文件中未检测到未声明的变量 因为它们在.ts文件中。

有什么想法吗?

正如您所看到的,在两个文件上都没有检测到控制台:.js和.ts iterableGGG未声明=>在ts文件中,它以红色下划线。但不是在js文件中。

注意:从lodash导入就是有一个模块,所以ts文件中的变量不是全局的。

enter image description here

enter image description here

tslint.json

{
    "defaultSeverity": "error",
    "extends": [
        "tslint:recommended"
    ],
    "jsRules": {},
    "rules": {
        "no-any": false
    },
    "rulesDirectory": []
}

2 个答案:

答案 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文件中的错误。 * /