TSlint:'let'和'const'触发禁止'var'关键字错误
问题描述:
我正在使用我的打字稿项目运行TSLint(v5.3.2)。我得到Forbidden'var'关键字,使用'let'或'const'代替但我没有使用'var',它指向我使用'let'或'const'。TSlint:'let'和'const'触发禁止'var'关键字错误
例如,这里是错误的代码帧格式,以显示我使用“常量”,而不是“变种”:
Forbidden 'var' keyword, use 'let' or 'const' instead (no-var-keyword)
58 | .map((response) => {
59 | // update the login status
> 60 | const tokensValid = response['isvalid'] === true;
| ^
61 | if (tokensValid) {
62 | this.loggedIn$.next(true);
63 | return true;
到目前为止,我一直无法弄清楚为什么我米得到这个错误。有任何想法吗?
谢谢。
答
这似乎是TSlint本身的错误。我建议您在tslint.json
配置中取消激活此规则并查看它是否有效。
{
"rules": {
"no-var-keyword": true
}
}
如果它不起作用,它可能是您的IDE或某事的错误。希望这可以帮助你。
答
刚刚遇到这个问题,webpack
,tslint-loader
和awesome-typescript-loader
。我解决它做这个(简体):
module: { rules: [ { test: /\.tsx?$/, enforce: 'pre', // this little bugger loader: 'tslint-loader', }, { test: /\.tsx?$/, use: ['awesome-typescript-loader'], }, ], },
将no-var-keyword规则设置为false会关闭检查,以便错误不再像预期的那样显示,但是当然不会执行检查。 – Brandon
正如我所说,由于地图的原因,TSlint检查可能是错误的。我不知道你能做些什么解决方法才能使它工作。您可能需要直接使用TSlint在Github上打开一个问题。 –