node.js - Eslint 说 Typescript 应用程序中的所有枚举“已经在上层范围内声明”
问题描述
启动一个新应用程序,我安装了 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
}
]
}
}
解决方案
如果您是 TSLint-to-ESLint 的用户,这是一个已修复的错误,因此使用较新版本重新运行脚本也可以解决问题,或者只是禁用no-shadow
并启用@typescript-eslint/no-shadow
如果您正在使用一些滥用规则的公共配置,请务必让他们知道,仍然遇到此问题的人数有些惊人。
请参阅@typescript-eslint/no-shadow 如何使用 此部分的常见问题解答
如何使用
{
// note you must disable the base rule as it can report incorrect errors
"no-shadow": "off",
"@typescript-eslint/no-shadow": ["error"]
}
搜索typescript-eslint GitHub 问题显示许多人都在问同样的问题。
推荐阅读
- c# - C# Selenium - 如何确定单选按钮是否被选中
- javascript - 如何在 vanilla js 中自动获取输入值?
- python-3.x - Selenium:如何避免访问被拒绝页面?
- c - 在c中将十进制数转换为字符串
- javascript - 在 React-native 中动态导入 JSON 文件
- qt - 循环音乐时 Qt 中的 SIGSEGV 错误
- javascript - 单击html图标时单击事件不起作用
- android - Android Kotlin Foregeground Service + Notifications,为什么会出错?
- c++11 - 如何为给定长度的字符串或向量的成员制作笛卡尔积?
- angular - 如何使用角度访问事件中的元素“路径”