我想在我的应用程序中使用枚举:
export const enum typeEnum {
TVY = 'TVY',
USER = 'USER',
}
在npm运行webpack:build时,我得到以下错误:
12:111错误"typeEnum"已在上部作用域中声明无阴影
我在几个与此错误相关的链接上读到,解决方案是将以下内容添加到esint规则中:
"no-shadow": "off",
"@typescript-eslint/no-shadow": "error"
这就是我在.eslintrc.json文件中所做的:
{
"plugins": ["@typescript-eslint/tslint"],
"extends": ["jhipster"],
"parserOptions": {
"project": "./tsconfig.base.json"
},
"rules": {
"@typescript-eslint/tslint/config": [
"error",
{
"lintFile": "./tslint.json"
}
],
"@typescript-eslint/no-unused-vars": [
"warn",
{
"vars": "all",
"args": "after-used",
"ignoreRestSiblings": false
}
],
"@typescript-eslint/no-non-null-assertion": "off",
"no-shadow": "off",
"@typescript-eslint/no-shadow": "error"
}
}
但现在,我在npm run:webpack:build:上也收到了这个错误
myPath\src\main\webapp\app\vendor.ts[INF]1:1错误定义找不到规则"@typescript eslint/no shadow"@typescript eslint/no shadow
你知道我能做什么吗?
谢谢,
Manuela
事实证明,您需要关闭标准esint规则,而使用TypeScript特定的值。
"no-shadow": "off",
"@typescript-eslint/no-shadow": ["error"],
- 此处注明:https://github.com/typescript-eslint/typescript-eslint/issues/2483
- esint规则:https://eslint.org/docs/rules/no-shadow
- TypeScript规则:https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-shadow.md
(我刚刚遇到这个问题,做了这个更改,它为我解决了它(
这个错误基本上意味着您在更高级别的某个地方(可能在全局范围内(有另一个同名的枚举。尝试重命名您的枚举和外观。
顺便说一句。取消规则是一种不好的做法。TS/ES linters指出代码出现问题的地方。在大多数情况下,您必须修复代码中的问题,而不是仅仅关闭linter。
解决方案仅添加:
"no-shadow": "off"