代码规范化
Eslint 安装
- 安装
npm install eslint --save-dev
- 使用
npx eslint --init
初始化一个配置文件 - 执行
npm eslint test.js --fix
–fix 会自动修正代码风格问题,而一些问题代码就需要手动修正 - 当代码有语法问题时 Eslint 无法检查问题代码和代码风格,所有要先手动解决语法问题
ESLint 配置文件解析
1 | module.exports = { |
ESLint 配置注释
- 在编码时有时需要违反 eslint 规则,eslint-disable-line 可以通过注释临时禁用校验规则
- 当一行有多个问题时可以跟上具体禁用哪个规则
- 具体配置注释介绍文档
1 | // eslint-disable-line no-template-curly-in-string |
ESLint 结合自动化工具
- gulp
- 安装 gulp-eslint
- 创建 eslint 配置文件
1 | // plugins 自动加载插件模块 |
ESLint 结合 Webpack
- 通过 loader 机制完成校验
- 安装 eslint-loader
- 初始化配置文件
1 | const HtmlWebpackPlugin = require("html-webpack-plugin"); |
- 在 react 项目中会报 React 未使用的问题,和 App is defined but never used no-unused-vars,可以使用插件
- 安装插件
npm install eslint-plugin-react
- 在配置文件的 plugins 属性配置
1 | modul.exports = { |
Stylelint 认识
- 安装
npm install stylelint -D
- 添加配置文件 .stylelintrc.js
- 共享配置名称要完整的模块名称
- stylelint 内部没有提供任何可用的共享配置,可以自定义安装
npm install stylelint-config-standard -D
对 css 代码检查npm install stylelint-config-sass-guidelines -D
对 sass 代码检查
1 | module.exports = { |
Prettier 的使用—代码格式化工具
- 安装
npm install prettier -D
npm prettier style.css --write
自动格式化文件,–write 把格式化的代码覆盖源代码
ESLint 结合 Git Hooks
- 安装依赖
npm install husky -D
- 在 package.json 文件添加一个 husky 字段,在 husky 添加一个 hooks 属性,在 hooks 属性添加一个 pre-commit 钩子属性,值为 npm run xxxx,在提交 commit 前就会先执行 scripts 下的对应命令,比如执行 eslint,如果不符合规范就不能直接提交到代码仓库中
1 | // package.json |
- 安装
npm install lint-staged -D
在 commit 前执行 eslint 后,再进行其他操作,如格式化代码 - 安装代码格式化工具
npm install prettier -D
- 在 package.json 中添加一个 lint-staged 字段
- 一般 husky 和 lint-staged 配合使用
1 | { |
Git 提交规范—commitlint
- 文档:https://commitlint.js.org/#/
- 安装插件
yarn add husky @commitlint/cli @commitlint/config-conventional --dev
- husky 是一个 Git Hook 工具
- 项目根目录创建配置文件 commitlint.config.js
1 | module.exports = { |
- 配置 package.json 文件,添加一下内容,在执行
git commit -m "commit message"
命令的时候,将会对 commit message 校验,是否符合 rules
1 | "husky": { |