Next.js 13中typescript-eslint配置异常:终端Lint未检测到预期错误
终端执行
npm run lint无法检测到getter未返回值问题的原因及解决方法 你的问题核心场景:
- 配置包含
plugin:@typescript-eslint/recommended时,终端npm run lint无法检测到getter未返回值的错误,但VS Code中TypeScript自身会提示ts(2378)错误 - 移除
plugin:@typescript-eslint/recommended后,终端Lint又能正常检测到该问题
原因分析
这是plugin:@typescript-eslint/recommended配置的规则覆盖逻辑导致的:
- 该配置会禁用ESLint原生的
getter-return规则——这个原生规则是直接检查getter函数内是否存在return语句的基础规则 - 同时它会启用
@typescript-eslint/getter-return规则,但该规则的默认行为依赖TypeScript的类型检查结果,在你的代码场景中没有触发检测
注意:VS Code中显示的ts(2378)是TypeScript编译器本身的错误提示,并非ESLint的检测结果。移除plugin:@typescript-eslint/recommended后,ESLint原生规则重新生效,终端Lint才会报错。
解决方法
手动显式开启@typescript-eslint/getter-return规则,确保它强制检测getter返回值:
修改你的ESLint配置文件,添加rules字段并指定该规则为错误级别:
{ "extends": [ "next/core-web-vitals", "eslint:recommended", "plugin:@typescript-eslint/recommended" ], "parser": "@typescript-eslint/parser", "plugins": ["@typescript-eslint"], "root": true, "rules": { "@typescript-eslint/getter-return": "error" } }
另外建议确认你的tsconfig.json中开启了strict: true等严格类型检查选项,这能让@typescript-eslint/getter-return规则的检测更准确。
内容的提问来源于stack exchange,提问作者user3357926
相关产品推荐
相关产品推荐

