随着前端项目变得越来越复杂,代码数量和代码质量成为了团队必须面对的问题之一。如何保证代码的风格统一、规范化,进而提高代码的可读性和维护性,是很多团队都要考虑的问题。这时候,引入 ESLint 和 Prettier 的组合就是一个很不错的解决方案。本文将详细介绍如何使用 ESLint 和 Prettier 集成实现代码规范解析。
什么是 ESLint 和 Prettier?
ESLint 是当前前端领域最为流行的 JavaScript 代码检查工具之一,它可以帮助我们检查代码中的潜在错误和不规范的写法。它提供了一些默认的规则,也可以通过配置文件自定义规则,以适应项目的特定需求。ESLint 检查代码时,总是以规则为导向,因此可以有效减少代码的出错率,提高代码的可维护性和健壮性。
Prettier 是一个代码格式化工具,可以自动给代码添加缩进、空格和换行等,让代码格式更具备可读性。Prettier 做到了像 eslint-plugin-prettier 和 eslint-config-prettier 插件那样与 ESLint 集成,以确保代码的格式和风格一致。Prettier 的好处之一是可以减少开发者在代码格式化方面的时间和精力。
ESLint 和 Prettier 的集成方案
安装依赖
在使用 ESLint 和 Prettier 之前,首先要安装以下依赖:
npm install eslint prettier eslint-plugin-prettier eslint-config-prettier eslint-plugin-node eslint-config-node --save-dev
其中,eslint-plugin-prettier 插件可以将 Prettier 作为 ESLint 规则来运行,而 eslint-config-prettier 插件可以在 ESLint 配置中禁用与 Prettier 冲突的规则。eslint-plugin-node 和 eslint-config-node 插件只是为了保证代码在 node.js 环境下的正确性。
创建配置文件
有了初始的依赖,现在需要创建 ESLint 和 Prettier 的配置文件,来告诉它们应该如何运行。
首先,在项目的根目录下创建 .eslintrc.js 文件,这是 ESLint 的配置文件,内容如下:
-- -------------------- ---- ------- -------------- - - ---- - ---- ----- ----- ----- -------- ----- -- ------- ----------------------- -------------- - ------------ ----- ----------- --------- ------------- - ---- ----- -- -- -------- - --------------------- -------------------------- ------------------------------ -- -------- ------------- ------ --- -
- env:设定代码的运行环境,这里包括 ECMAScript 6、node.js 和浏览器环境,可以根据自己的需要拓展
- parser:指定代码解析器
- parserOptions:指定解析器的配置项
- extends:指定要使用的规则集,其中
eslint:recommended
是 ESLint 官方推荐的默认规则集,plugin:node/recommended
是 eslint-plugin-node 插件推荐的规则集,plugin:prettier/recommended
是 eslint-config-prettier 插件推荐的规则集 - plugins:指定使用的插件
- rules:指定规则,这里使用了默认配置
然后,在项目的根目录下添加名为 .prettierrc 的 Prettier 配置文件,内容如下:
{ "semi": true, "trailingComma": "es5", "singleQuote": true, "printWidth": 80, "tabWidth": 2 }
这里只是一个基本的配置示例,可以根据自己的需要进行修改。
创建 NPM Script
现在,我们只需要创建一个 NPM Script,即可启动 ESLint 和 Prettier 的规范检测。
在项目的 package.json 文件中,添加以下配置:
{ "scripts": { "lint": "eslint . --ext .js,.jsx . && prettier --check ./**/*.js ./**/*.jsx" } }
这里的 "lint" script 用来检查 .js 和 .jsx 文件的代码规范。其中,--ext 用来定义要检查的文件扩展名。prettier --check 可以检查代码语法和格式是否符合规范。
实战演练
假设我们有如下一个 index.js 文件:
const array = [1,2,3,4] for (let i = 0 ; i < array.length ; i++ ){ console. log(array[i])}
这里面违反了一些常见的编码规范,比如冒号后面加上空格,尾随逗号等等。现在我们跑一下之前创建的 ESLint 和 Prettier 的配置文件,看看会发生什么。
直接运行 npm lint,可以看到以下的输出:
-- -------------------- ---- ------- - ------ - ----- -------- - -- -------- ------- --------- ------------- --- ----- ------- -- --------- --- ----- -------- --------------- ---- ----- ----- -------- ---- ---- ----------- --- ----- -------- ----------- -- - ------ --- ----- - ------ ---- ----- ---------- ----- ------ ----------- ----------------- - - -------- -- ------- - ---------
从输出中可以看到,ESLint 和 Prettier 一起运行了。我们收到了四个错误,其中三个来自于 ESLint,另一个来自 Prettier。
const array = [1,2,3,4]; for (let i = 0; i < array.length; i++) { console.log(array[i]); }
修复完上述错误之后,代码就符合代码规范了。此时,我们再次运行 npm lint,就能看到没有任何输出了。
总结
在前端开发中,代码规范性是非常重要的一个方面。使用 ESLint 和 Prettier 的组合可以自动检查和自动修复代码中的潜在问题并统一代码风格。这样做,可以在极大程度上提高代码的可读性、可维护性和健壮性,也会让下一个开发者通过代码更轻松地了解项目的架构。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/645ee7f8968c7c53b0112201