第一步 安装commitizen
可以局部安装npm install commitizen -D
或者全局安装npm install -g commitizen
,这里我推荐全局安装(可以用git cz
代替git commit
)。简单来说commitizen
为我们提供一些cli命令比如:commitizen init
、 git cz
https://github.com/commitizen/cz-cli
第二步
npm i lint-staged husky -D
npm set-script prepare "husky install" # 在package.json中添加脚本
npm run prepare # 初始化husky,将 git hooks 钩子交由,husky执行
.安装提交信息依赖
npm i commitlint @commitlint/config-conventional -D
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'
安装辅助提交依赖
npm i commitizen cz-conventional-changelog -D
- 安装指令和命令行的展示信息
npm set-script commit "git-cz" # package.json 中添加 commit 指令, 执行 `git-cz` 指令
- 编写commit指令
npx commitizen init cz-conventional-changelog --save-dev --save-exact
代码检查工具
- Eslint
- 项目集成
npm i eslint -D
npx eslint --init
代码风格工具
npm i prettier eslint-config-prettier eslint-plugin-prettier -D
命令配置
"prepare": "husky install",
"commit": "git-cz",
"lint-staged": "lint-staged",
"lint-staged:js": "eslint --ext .js,.jsx,.ts,.tsx "
"husky": {
"hooks": {
"pre-commit": "npm run lint-staged",
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
},
"lint-staged": {
"**/*.{js,jsx,tsx,less}": [
"prettier --write",
"git add"
],
"**/*.{js,jsx}": "npm run lint-staged:js"
},
commitlint.config.js 文件
module.exports = { extends: ['@commitlint/config-conventional'] };