一、对于Node >= 10 and Git >= 2.13.0的情况
1、项目中安装husky
npm install husky --save-dev
2、修改package.json
"scripts": {
"eslintOK": "eslint src/**/*.{js,vue,wpy}",
},
"husky": {
"hooks": {
"pre-commit": "npm run eslintOK"
}
}
二、对于版本不满足的
可以参考 使用git钩子做eslint校验
三、题外话
1、husky可配合lint-staged,实现很多功能;
2、使用commitlint 可以规范git commit 信息
'build', //构建相关
'ci', // 自动化流程配置相关
'chore',// 构建过程或辅助工具的变动
'docs',// 文档相关
'feat', // 新增功能
'fix',// 修复bug
'perf',// 性能相关
'refactor',// 重构
'revert',// 回滚
'style',// 修改代码格式,不影响代码逻辑(注意,不是样式的修改)
'test' // 测试相关
"husky": {
"hooks": {
"pre-commit": "npm run eslintOK",
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
}
3、lint-staged的使用
"husky": {
"hooks": {
"pre-commit": "lint-staged",
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
"pre-push": "npm run open"
}
},
"lint-staged": {
"src/**/*.{js,vue}": [
"eslint src/**/*.{js,vue}",
"git add ."
]
}
4、git 客户端钩子及服务端钩子
https://git-scm.com/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-Git-%E9%92%A9%E5%AD%90
![](https://img.haomeiwen.com/i2166980/b188480c11b09771.png)
![](https://img.haomeiwen.com/i2166980/0f7849b05a3b020d.png)
https://blog.csdn.net/scGY07leY6/article/details/57953601
网友评论