背景
团队开发必备。
用到的插件
配置安装
- commitizen
//1.全局安装
npm install -g commitizen
//2.安装cz-customizable
npm install cz-customizable --save-dev
//3.根目录下创建.commitlintrc.json文件
{
"extends": ["@commitlint/config-conventional"],
"rules": {
"type-enum": [
2,
"always",
[
"ci",
"test",
"config",
"chore",
"docs",
"feat",
"fix",
"perf",
"refactor",
"revert",
"style"
]
]
}
}
//4.安装依赖
npm install --save-dev @commitlint/config-conventional @commitlint/cli
- husky
//1.install
npm install --save-dev husky
//2.start hooks
npx husky install
//3.package.json添加指令
"prepare":"husky install"
//4.npm run prepare
npm run prepare
//5.添加 commitlint 的 hook 到 husky中
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'
//添加 commit 时的hook
npx husky add .husky/pre-commit “npx eslint --ext .js,.vue src”
- lint-staged
//1.在package.json中配置
"lint-staged": {
"src/**/*.{js,vue}": [
"eslint --fix",
"git add"
]
}
//2.修改.husky/pre-commit
npx lint-staged
坑
用commitlint.config.js写配置问价时会出现提交错误,因为要用UTF-8格式。所以改为json文件形式。
小结
npm包实在是比较多的,选好包,快速高效的开发。