在前端开发中,代码规范和代码风格的问题一直都存在。一方面,代码规范对于项目的整体代码质量、可维护性起着至关重要的作用;另一方面,在维护项目的过程中,开发者往往需要同时维护多个小部分,如果没有良好的代码风格,会影响整个代码库的维护效率。而 ESLint 和 Prettier 已经成为前端领域非常重要的规范和风格工具。本文将介绍如何结合 ESLint 和 Prettier,实现提交 git 之前自动格式化的开发流程。
什么是 ESLint?
ESLint 是一个插件化的、可配置化的 JavaScript 语法检查工具。它可以检查 JavaScript 代码中的语法问题和常见错误,并且可以通过配置文件定制规则,支持大多数的 JavaScript 代码风格和最佳实践。ESLint 可以作为 Node.js 应用和构建工具的一部分,也可以在 Webpack、Gulp、Grunt 等构建工具中使用它。ESLint 的基本用法非常简单,步骤如下:
- 安装 ESLint:
npm install eslint --save-dev
- 初始化 eslint 配置文件:
npx eslint --init
- 运行 ESLint:
npx eslint file.js
什么是 Prettier?
Prettier 是一款代码格式化工具,可以自动将代码按照一定的规则进行格式化,避免开发者在写代码的过程中出现格式不一致的问题。Prettier 可以自动处理 JavaScript、TypeScript、CSS、SCSS、Less、JSON 等多种语言,而且可以与大多数的编辑器和构建工具集成。
安装 Prettier:
npm install prettier --save-dev
使用 Prettier:
npx prettier [options] [files]
结合 ESLint 和 Prettier
通常情况下,ESLint 和 Prettier 都可以独立使用,但是两者结合可以更好地维护代码风格和代码规范。结合 ESLint 和 Prettier,你可以先使用 Prettier 统一格式化代码,然后再通过 ESLint 检查代码的语法合法性。以下是实现这个目标的步骤:
安装
eslint-config-prettier
:npm install eslint-config-prettier --save-dev
在
.eslintrc
中添加"prettier"
和"prettier/@typescript-eslint"
配置:-- -------------------- ---- ------- - ---------- ----------------------------------------- ----------- ------------------------------- ---------- ----------------------- -------- - ------------------------------------- ----- -- --------- ---------------------------- ---------------- - -------------- -- ------------- --------- ---------- ------------------ ----------------------- ---- -- ------ - ---------- ----- ------- ----- ------ ---- - -
在
.prettierrc
中设置 Prettier 配置:-- -------------------- ---- ------- - ------------- --- ----------- -- ---------- ------ ------- ----- -------------- ------ ------------- ------------ ----------------- ------ ---------------- ------- ----------------- ----- --------------------- ------ -------------- -------- ---------------- ------ --------------- ------ ------------ ---------- -
在
package.json
中添加以下脚本:"scripts": { "lint": "eslint ./src/**/*.{ts,tsx}", "format": "prettier --write './src/**/*.{ts,tsx}'", "format:check": "prettier --list-different './src/**/*.{ts,tsx}'", "precommit": "npm run format:check && npm run lint" },
至此,代码就可以在提交 git 之前自动格式化了。具体来讲,执行 git commit 命令时,我们执行 npm run precommit
,这将首先启动 Prettier 以规范化我们的代码,然后使用 ESLint 检查任何语法错误。如果检查通过,则我们的代码将被提交。
总结
ESLint 和 Prettier 与其他一些可用于 JavaScript 的工具相比非常有优势。开始时可能需要一些时间,因为需要针对某些情况调整其个别配置,但此后将获得一个明显更高质量和维护能力的代码库,对于单个项目和整个团队来说都是一个好处。通过了解如何将它们结合使用,我相信大多数开发人员都可以从中获益。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65b74d45add4f0e0fffdea12