@trivago/prettier-plugin-sort-imports 忽略导入排序规则求助
解决@trivago/prettier-plugin-sort-imports配置不生效的问题
1. 版本兼容性不匹配
@trivago/prettier-plugin-sort-imports 4.0.0及以上版本要求Prettier版本≥2.7.0,你当前使用的2.6.2版本不满足插件的最低依赖要求,这会直接导致插件无法正常工作。
解决办法:
升级Prettier到兼容版本:
npm install prettier@^2.7.0 --save-dev # 或使用yarn yarn add prettier@^2.7.0 --dev
2. 导入规则缺失关键匹配项
你的importOrder配置没有覆盖第三方模块的匹配规则,也没有统一的样式文件匹配规则,导致导入排序完全不符合预期:
- 第三方模块(非React、非内部包)没有对应的匹配规则,会被默认放到所有规则之后
- 单独指定
^./_app.scss$无法覆盖所有样式文件,且位置不符合你的需求
修改后的配置如下,完全匹配你预期的排序逻辑:
{ "printWidth": 110, "singleQuote": true, "trailingComma": "all", "arrowParens": "always", "endOfLine": "auto", "importOrder": [ "^react$", "^[^./]", // 匹配所有第三方npm包(不以.或/开头的导入) "^@lc/(.*)$", "^components/(.*)$", "^.+\\.(scss|css)$", // 匹配所有scss/css样式文件 "^[./]" ], "importOrderSeparation": true, "importOrderSortSpecifiers": true, "plugins": ["@trivago/prettier-plugin-sort-imports"] }
3. 插件未明确加载
如果项目中有多个Prettier插件,可能会因加载顺序问题导致排序插件失效。在配置中明确指定plugins数组,确保排序插件被优先加载并生效。
4. 清除Prettier缓存
Prettier会缓存格式化结果,配置修改后可能无法立即生效。运行格式化时添加--no-cache参数清除缓存:
npx prettier --write . --no-cache # 或使用yarn yarn prettier --write . --no-cache
5. 检查文件是否被忽略
确认目标文件不在.prettierignore列表中,否则Prettier不会对其应用任何格式化规则。
内容的提问来源于stack exchange,提问作者Nachtfunke
相关产品推荐
相关产品推荐

