Prettier 与 ESLint 的区别和协作
Prettier 和 ESLint 是前端开发中常用的两个工具,它们有不同的职责定位,但可以很好地协作使用。
主要区别
Prettier(代码格式化工具)
- 专注于代码格式化,统一代码风格
- 不进行代码质量检查
- 强制使用统一的代码风格,减少团队争议
- 通过解析 AST 重新生成代码
- 配置选项相对有限,避免过度配置
ESLint(代码质量检查工具)
- 专注于代码质量检查和潜在问题发现
- 检查代码错误、最佳实践、代码风格
- 提供大量的规则配置
- 可以自定义规则和插件
- 支持自动修复部分问题
协作使用
在实际项目中,通常会将 Prettier 和 ESLint 结合使用:
-
安装依赖
bashnpm install --save-dev prettier eslint eslint-config-prettier eslint-plugin-prettier -
配置 ESLint 在
.eslintrc.js中配置:javascript{ "extends": [ "eslint:recommended", "plugin:prettier/recommended" ] } -
配置 Prettier 创建
.prettierrc文件:json{ "semi": true, "singleQuote": true, "tabWidth": 2 }
配置冲突解决
使用 eslint-config-prettier 可以禁用所有与 Prettier 冲突的 ESLint 规则,避免重复配置和冲突。
最佳实践
- 在团队中统一使用 Prettier 进行代码格式化
- 使用 ESLint 进行代码质量检查
- 在 CI/CD 流程中同时运行两者
- 在编辑器中配置自动格式化和保存时格式化
通过合理配置,Prettier 和 ESLint 可以完美协作,既保证代码风格统一,又确保代码质量。