Gatsby+TS项目Eslint触发意外EnumInvalidMemberName错误,求禁用方案
解决ESLint禁止枚举成员小写开头的问题
你遇到的这个错误是@typescript-eslint/naming-convention规则在起作用,默认要求枚举成员名称使用大写开头的格式。针对遗留代码不想修改的情况,有两种方式禁用该规则:
方式一:全局禁用或修改规则(推荐)
在项目的ESLint配置文件(比如.eslintrc.js或.eslintrc.json)中,找到rules字段,添加或修改以下配置:
完全禁用该规则
如果不需要任何枚举命名规范约束,直接关闭整个规则:
module.exports = { // 其他配置项... rules: { // 其他规则... "@typescript-eslint/naming-convention": "off" } };
针对性放宽枚举成员命名限制
如果只想允许枚举成员小写开头,保留其他场景的命名规范,可以做精细化配置:
module.exports = { // 其他配置项... rules: { // 其他规则... "@typescript-eslint/naming-convention": [ "error", { selector: "enumMember", format: ["PascalCase", "UPPER_CASE", "camelCase"] // 新增camelCase允许小写开头 } ] } };
方式二:局部禁用单处错误
如果仅想针对某个特定枚举禁用规则,在对应代码上方添加注释:
// eslint-disable-next-line @typescript-eslint/naming-convention enum SomeEnum { lowercaseMember = "value" }
另外注意你的依赖中@typescript-eslint/parser版本为5.0.0,而@typescript-eslint/eslint-plugin是5.30.7,版本不一致可能引发未知问题,建议将parser升级到与plugin相同的版本(比如5.30.7),避免潜在冲突。
内容的提问来源于stack exchange,提问作者eLeontev
相关产品推荐
相关产品推荐

