启动一个新的应用程序,我安装了eslint,并使用以下配置进行配置,但每次我创建一个enum
时,它都说它已经被定义了。甚至是无意义的字符串。其他变量类型(const,var,let)没有这个问题。我可以禁用这个规则,但我希望它适用于它实际上是真的情况。
{
"root": true,
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint"],
"parserOptions": {
"project": ["./tsconfig.json"],
"ecmaFeatures": {
"ecmaVersion": 6,
"jsx": true
}
},
"overrides": [],
"extends": [
"airbnb-typescript",
"prettier",
"prettier/@typescript-eslint",
"plugin:@typescript-eslint/recommended-requiring-type-checking"
],
"rules": {
"spaced-comment": 0,
"import/prefer-default-export": 0,
"@typescript-eslint/no-use-before-define": 0,
"@typescript-eslint/restrict-template-expressions": [
1,
{ "allowBoolean": true }
],
"react/jsx-props-no-spreading": "off",
"react/state-in-constructor": 0,
"react/require-default-props": 0,
"react/destructuring-assignment": [
1,
"always",
{
"ignoreClassFields": true
}
]
}
}
6条答案
按热度按时间dl5txlt91#
如果您是TSLint-to-ESLint的用户,则该脚本为a bug that has since been fixed,因此使用较新版本重新运行该脚本也可修复此问题,或者只需禁用
no-shadow
并启用@typescript-eslint/no-shadow
如果你正在使用一些公共配置,滥用规则,然后一定要让他们知道,人数仍然运行到这是有点惊人的。
请参阅@typescript-eslint/no-shadow如何使用此常见问题解答部分
如何使用
搜索typescript-eslint GitHub issues显示许多人在问同样的问题。
kqlmhetl2#
Tadhg McDonald-Jensen的回答很有用,但有一点需要说明,直接将以下配置项写入
.eslintrc
将报告错误:下面是一个关于无阴影规则的正确示例:
pkln4tw63#
我在TypeScript中的以下代码中遇到了类似的问题:
遗憾的是,
rules
或overrides
均未解决问题在花了几个小时检查不同的问题,疑问和文档的问题,我遇到了官方文档的
@typescript-eslint/no-shadow
. Here is the link我所要做的是在eslint中为
@typescript-eslint/no-shadow
添加额外的ignoreTypeValueShadow
选项。无阴影的最终设置如下所示:
wfauudbj4#
当我用对象的某个名称声明变量时,我会发生这个错误。我忘记了将变量名用小写而不是对象名的大写。类型文件
**解决方案:**要修复此问题,只需将变量名设置为小写。
生成此Eslint错误的代码示例:
这是我的枚举:类型文件模型.ts
这是我的对象模型app-file-model.ts
fzwojiic5#
似乎将其添加到基础“规则”中还不够,我不得不在覆盖下再次添加它
ozxc1zmp6#
我使用以下配置设法阻止了错误的出现:
在这两种情况下都使用“off”,因为我注意到在我读过的所有例子中都有一个反复出现的模式,即在第一个例子中使用“off”,在第二个例子中使用“error”。这让我怀疑这是不是正确的方法,但我一直无法用其他方法避免这些错误,甚至无法使用覆盖。