解决eslint与prettier在代码格式上的冲突

eslint与prettier在代码格式上的冲突

因为eslint本身也具备对代码格式的控制与检查能力,所以不可避免可能会与prettier的代码格式冲突,比如eslint配置rules中对缩进的要求为2并在不满足时报错**。**

解决方案很简单------思路就是把prettier的规则复写进eslint中,并对原本eslint中的格式配置进行覆盖,这样就做到了eslint的格式化检查与prettier的格式化行为统一。

1.安装

bash 复制代码
pnpm install -D eslint-config-prettier

2.配置

javascript 复制代码
{
  "extends": [
    "已经配置的规则",
    "prettier",
  ]
}

extends的值为数组,后面的数组项会继承和覆盖前面的配置,所以完成了prettier规则对eslint规则的扩充和覆盖。

最佳实践------省略prettier格式化命令,eslint进行格式化与检查一步到位

完成上述操作本质是做到了 ESLint 会按照 Prettier 的规则做相关校验,也就是说先执行Prettier格式化后再执行eslint检查不会因为格式问题冲突而报错,但是还是需要运行 Prettier 命令来进行格式化。为了避免多此一举,社区也提供了整合上面两步的方案:在使用 eslint --fix(eslint错误修复) 时候,实际使用 Prettier 来替代 ESLint 的格式化功能。操作如下:

1.安装

bash 复制代码
pnpm install -D eslint-plugin-prettier

2.配置

javascript 复制代码
{
  "extends": [
    "已经配置的规则",
    "plugin:prettier/recommended"
  ],
  "rules": {
    "prettier/prettier": "error",
  }
}
相关推荐
Lank_M2 分钟前
AI 放大后的图更清楚,但它不能当原图入库
前端
Swot4 分钟前
SvelteKit 数据流研究:`+page.js` 和 `+page.server.js` 到底谁在跑,数据又去了哪儿
前端·后端
用户4147679304159 分钟前
Windows 触摸屏上 Swiper 轮播滑不动?可能是内部滚动容器抢走了你的手势
前端
张明君6445112 分钟前
从一个 Referer 引发的 403,到 SSR 服务失稳:Astro 流式渲染与缓存失效分析
前端
律宏阔15 分钟前
微信小程序 + Taro + TDesign 去掉 [&&&],让普通 Tailwind 类接管局部样式
前端·微信小程序·taro
费曼学习法15 分钟前
把 3 个内部服务封装成 MCP Server 的工程复盘:进程模型、超时与错误契约
前端
ruanno_top16 分钟前
给标签页加 roving tabindex,整组反而键盘进不去了
vue.js
Captaincc16 分钟前
转译:《软件工程师现在该怎么办》
前端·后端·ai编程
天才熊猫君20 分钟前
给 Vue 的 reactive 套 Proxy,为什么响应式会失灵?
前端·javascript
htzyl20622 分钟前
别急着上微前端:从 6 个场景倒推 Module Federation 2.0 与 qiankun 2.x 的选型
前端·微服务