CRA项目中配置的eslint sort-imports导入排序规则无法生效
CRA项目sort-imports校验规则不生效解决方案
按以下顺序排查修改即可:
- 检查是否存在高优先级ESLint配置文件
如果项目根目录存在.eslintrc.js、.eslintrc.json、.eslintrc这类独立配置文件,package.json中的eslintConfig字段会被直接覆盖,把规则写到优先级最高的配置文件中即可。 - 确认校验范围
CRA默认仅对src目录下的文件执行ESLint校验,非src目录下的导入语句不会触发规则。 - 补充完整规则配置
sort-imports是ESLint内置规则,默认仅校验导入声明的成员排序,不会校验导入路径的排序逻辑,可补充配置参数适配你的校验要求:
"eslintConfig": { "extends": "react-app", "rules": { "sort-imports": [ "warn", { "ignoreCase": true, "ignoreDeclarationSort": false, "ignoreMemberSort": false, "memberSyntaxSortOrder": ["none", "all", "multiple", "single"], "allowSeparatedGroups": true } ] } }
- 校验ESLint版本
如果项目单独安装的ESLint版本低于7.0.0,部分sort-imports配置参数不生效,可升级ESLint版本,或者直接使用CRA内置的ESLint版本即可。 - 检查编辑器配置
如果使用VSCode等编辑器做实时校验,需要安装ESLint插件,确认插件读取的是项目本地ESLint配置,而非全局配置。 - 排查自定义CRA配置
如果使用了craco、react-app-rewired这类工具修改CRA默认配置,需要确认配置中没有关闭ESLint校验,也没有覆盖rules字段导致排序规则失效。
内容的提问来源于stack exchange,提问作者aolivera
相关产品推荐
相关产品推荐

