前言
每个人的代码风格不一,但对于团队来说,代码风格的统一有助于团队之间的协作,良好的代码风格更会令人赏心悦目。但是现实总会不如愿,可能一开始很规范的项目随着工作进度的推展,代码也会变得凌乱。人为的进行代码风格检查无疑是一种低效率且不可靠的方式,所以我们需要借助工具来进行强制的代码风格检查
eslint
ESLint是一个用来识别 ECMAScript 并且按照规则给出报告的代码检测工具,使用它可以避免低级错误和统一代码的风格。ESLint被设计为完全可配置的,主要有两种方式来配置ESLint:
- 在注释中配置:使用JavaScript注释直接把配置嵌入到JS文件中。
- 配置文件:使用下面任一的文件来为全部的目录和它的子目录指定配置信息
- javascript:使用.eslintrc.js文件并导出一个包含配置的对象。
- YAML:.eslintrc.yaml或者.eslintrc.yml
- JSON:.eslintrc.json,并且此文件允许使用JS形式的注释
- 废弃的用法:.eslintrc,此文件可以是JSON或者YAML
- package.json:在package.json文件中创建eslintConfig属性,所有的配置包含在此属性中
这些文件的优先级则是按照以上出现的顺序(.eslintrc.js
> .eslintrc.yaml
> .eslintrc.yml
> .eslintrc.json
> .eslintrc
> package.json
)
可以被配置的信息主要分为3类:
- Environments:你的 javascript 脚步将要运行在什么环境(如:nodejs,browser,commonjs等)中。
- Globals:执行代码时脚步需要访问的额外全局变量。
- Rules:开启某些规则,也可以设置规则的等级。
安装
yarn add eslint
或者全局安装 yarn global add eslint
规则配置
1 | { |
prettier
prettier是一个代码格式化工具,它支持对JavaScript,JSX,Angular,Vue,Flow,TypeScript,CSS, Less, and SCSS,HTML,JSON,GraphQL,Markdown,
including GFM and MDX,YAML格式的代码格式化
Prettier提供了一套默认的配置,那么如何修改配置项符合我们自己的代码规范呢,有三种方法可以做到
- .prettierrc 文件
- prettier.config.js 文件
- package.json 中配置prettier属性
安装
1
2
3yarn add prettier --dev --exact
# or globally
yarn global add prettier
规则配置
1 | { |
更多配置规则:
配合ESLint检测代码风格
eslint-plugin-prettier
eslint-plugin-prettier插件会调用prettier对你的代码风格进行检查,其原理是先使用prettier对你的代码进行格式化,然后与格式化之前的代码进行对比,如果过出现了不一致,这个地方就会被prettier进行标记。
配置
1 | //.eslintrc.js |
pre-commit
pre-commit钩子可以在 git commits 之前运行一段脚本
比如在commit代码之前运行eslint,校验失败则代码提交失败,校验成功则允许提交代码
安装
npm install --save-dev pre-commit
npm scripts配置
1 | { |