代码规范化
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": {  |