|  | 
|  | 1 | +--- | 
|  | 2 | +title: ESLint  + Prettier 太烦人?这次彻底搞定 | 
|  | 3 | +date: 2025-06-15T14:01:14Z | 
|  | 4 | +slug: post-72 | 
|  | 5 | +author: coderPerseus:https://github.com/coderPerseus | 
|  | 6 | +tags: ["前端工程化"] | 
|  | 7 | +--- | 
|  | 8 | + | 
|  | 9 | +众所周知,前端搭建项目的时候,如果是团队开发肯定需要配置 ESLint 和 Prettier 来保证代码风格统一。但是 ESLint 和 Prettier 如果配置不好,就会“打架”,并且它们的配置还比较麻烦,那怎么办呢?其实很简单,就是使用现成的,很多大厂都提供了现成的解决方案,下面就来看一下吧! | 
|  | 10 | + | 
|  | 11 | +下面,来看看社区提供的五套方案,让我们先看一下下面的表格,这里除了 @antfu/eslint-config ,其他都是出自大厂的开源 | 
|  | 12 | + | 
|  | 13 | + | 
|  | 14 | +下面让我们更加详细的看看它们的优缺点 | 
|  | 15 | +## @antfu/eslint-config | 
|  | 16 | +这是 Vue 团队成员 Anthony Fu 开发的 ESLint 配置,特点是开箱即用,零配置,支持 JS, TS, JSX, Vue, JSON, YAML, Markdown,并可选择性支持 React, Svelte, UnoCSS, Astro, Solid 等。通过 `eslint-plugin-format`  支持 CSS, HTML, XML 等格式化,我觉得很好用,推荐。 | 
|  | 17 | + | 
|  | 18 | +使用非常简单,既可以通过 CLI: | 
|  | 19 | + | 
|  | 20 | +`pnpm dlx @antfu/eslint-config@latest`  | 
|  | 21 | + | 
|  | 22 | +也可以通过手动安装到项目: | 
|  | 23 | + | 
|  | 24 | +`pnpm i -D eslint @antfu/eslint-config`  | 
|  | 25 | + | 
|  | 26 | +然后,需要在根目录下新建 `eslint.config.mjs` 并进行配置  | 
|  | 27 | + | 
|  | 28 | +如果你是 antfu 的粉丝,或者你不了解 ESLint 和 Prettier,那么这是一个好的选择 | 
|  | 29 | + | 
|  | 30 | +## @umijs/fabric | 
|  | 31 | + | 
|  | 32 | +这是 蚂蚁集团 Umi 团队的规范,如果你使用 umi 框架,应该对它不陌生。但最近一次更新已经是在两年前 | 
|  | 33 | + | 
|  | 34 | +它支持 JS, 适合在 React 和 TS 项目使用,包含 prettier,eslint,stylelint ,commitlint 的配置 | 
|  | 35 | + | 
|  | 36 | +使用它,需要手动安装并配置: | 
|  | 37 | + | 
|  | 38 | +`npm i @umijs/fabric --save-dev` | 
|  | 39 | + | 
|  | 40 | +然后根据官方文档配置 `.eslintrc.js` , `.stylelintrc.js` 和 `.prettierrc.js` | 
|  | 41 | +##  eslint-config-ali | 
|  | 42 | + | 
|  | 43 | +遵循阿里巴巴前端工程规范(F2E Guidelines)的配置,支持 JavaScript、TypeScript、React、Vue、Node.js 等多种项目类型,大厂出品,应该兼容性和质量比较高,也是我在使用的,推荐。 | 
|  | 44 | + | 
|  | 45 | +推荐使用 CLI 方式接入,直接在项目根目录运行: | 
|  | 46 | + | 
|  | 47 | +`npx f2elint` | 
|  | 48 | + | 
|  | 49 | +选择你的配置,它会自动帮你进行安装依赖和生成对应的脚本和配置 | 
|  | 50 | + | 
|  | 51 | +## eslint-config-airbnb 和 eslint-config-airbnb-base | 
|  | 52 | + | 
|  | 53 | +- eslint-config-airbnb:Airbnb 风格指南,适合 React 项目。 | 
|  | 54 | +- eslint-config-airbnb-base:Airbnb 基础 JS 配置,无 React 插件,适合非 React JS 项目。 | 
|  | 55 | + | 
|  | 56 | +Airbnb 的 JavaScript 代码规范,业界最流行的规范之一。github star  147k。但是库的更新最近一次是 2021 年 | 
|  | 57 | +安装使用它,对于 React 项目: | 
|  | 58 | + | 
|  | 59 | +`npx install-peerdeps --dev eslint-config-airbnb` | 
|  | 60 | + | 
|  | 61 | +对于非 React 项目: | 
|  | 62 | + | 
|  | 63 | +`npx install-peerdeps --dev eslint-config-airbnb-base` | 
|  | 64 | + | 
|  | 65 | +然后配置 `.eslintrc.js`  | 
|  | 66 | + | 
|  | 67 | +## eslint-config-alloy | 
|  | 68 | + | 
|  | 69 | +腾讯 AlloyTeam 出品的 ESLint 配置,支持多种技术栈。适合 React, Vue, TypeScript 项目,特别适合需要高度定制的团队,腾讯 AlloyTeam 开发。 | 
|  | 70 | +使用它可以通过手动的方式: | 
|  | 71 | + | 
|  | 72 | +`npm install --save-dev eslint @babel/core @babel/eslint-parser eslint-config-alloy` | 
|  | 73 | + | 
|  | 74 | + | 
|  | 75 | +## 最后 | 
|  | 76 | + | 
|  | 77 | +ESLint + Prettier 依然是目前最主流的前端代码规范的工具,但是也有新星挑战者,`Biome` 和 `Oxlint`,它们的集成也比较简答,选择一个适合自己的项目代码格式化规范,这样以后就可以专注代码和其他事情上了! | 
|  | 78 | + | 
|  | 79 | + | 
|  | 80 | +--- | 
|  | 81 | +此文自动发布于:<a href="https://github.com/coderPerseus/blog/issues/72" target="_blank">github issues</a> | 
0 commit comments