ESLint 和 Prettier 配合使用

CSDN 中文章不一定能及时更新,欢迎点击前往我的博客查看最新版本:许盛的博客

ESLint 是一款 Lint 工具,包含了代码质量检查等等。

而 Prettier 仅仅只是一个代码风格的约束工具,对于代码可能产生的 Bug 等并不关心。

虽然说 ESLint 其实也具备一定的代码风格的格式化能力,但是在实践中,我们一般采用 ESlint 来做代码质量的约束,用 Prettier 来做代码风格的约束。

那么如何避免两者规则不一致导致的冲突?以及如何将两者更好的整合起来使用呢?

规则冲突

当 ESLint 的规则和 Prettier 的规则相冲突时,就会发现一个尴尬的问题,用其中一种来格式化代码,另一种就会报错。

prettier 官方提供了一款工具 eslint-config-prettier 来解决这个问题。

本质上这个工具其实就是禁用掉了一些不必要的以及和 Prettier 相冲突的 ESLint 规则。

安装依赖:

npm install --save-dev eslint-config-prettier

修改 eslintrc 文件

// 在 extends 部分加入 prettier 即可
{
  "extends": [
    "...",
    "prettier"
  ]
}

整合使用

上面介绍的工具,仅仅只是将部分 ESLint 规则给禁用了,避免 Prettier 格式化之后的代码导致 ESLint 报错而已,如何将两者结合起来使用呢?

prettier 官方提供了一个 ESLint 插件 eslint-plugin-prettier

这个插件的主要作用就是将 prettier 作为 ESLint 的规则来使用,相当于代码不符合 Prettier 的标准时,会报一个 ESLint 错误,同时也可以通过 eslint --fix 来进行格式化。

例如:

409UW8.png

这样就相当于将 Prettier 整合进了 ESLint 中。

安装依赖:

npm install --save-dev eslint-plugin-prettier
npm install --save-dev prettier

修改 eslintrc 文件

{
  "plugins": ["prettier"],
  "rules": {
    "prettier/prettier": "error"
  }
}

简化配置

经过上面两步配置后, ESLint 的配置文件大概如下:

 {
  "extends": [
    "prettier"
  ],
  "plugins": ["prettier"],
  "rules": {
    "prettier/prettier": "error"
  }
}

其实可以简化一下,直接 extend 一下 plugin:prettier/recommended 即可。

如下:

{
  "extends": ["plugin:prettier/recommended"]
}

上面这行配置,实际上相当于:

{
  "extends": ["prettier"],
  "plugins": ["prettier"],
  "rules": {
    "prettier/prettier": "error",
    "arrow-body-style": "off",
    "prefer-arrow-callback": "off"
  }
}

可以参考文档:https://github.com/prettier/eslint-plugin-prettier#recommended-configuration

总结

总结一下,将 ESLintPrettier 整合起来使用,其实非常简单。

1. 安装依赖

npm i --save-dev prettier
npm i --save-dev eslint-plugin-prettier eslint-config-prettier

2. 修改配置

{
  "extends": [
		"plugin:prettier/recommended" // 添加到数组的最后一个元素
	]
}

相关链接:

  • 11
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值