在提交代码前进行代码质量的检查是很有必要的,可以避免把一些错误或者不规范的代码提交到代码仓库,影响团队合作以及项目的部署。使用lint-staged和husky再配合eslint可以帮助我们在提交代码前自动进行检查。

安装

需要安装husky和lint-staged在开发依赖中

  1. npm i --save-dev husky lint-staged

配置

配置package.json文件

  1. "husky": {
  2. "hooks": {
  3. "pre-commit": "lint-staged"
  4. }
  5. },
  6. "lint-staged": {
  7. "src/**/*.{js,vue}": [
  8. "eslint --fix"
  9. ]
  10. }

使用

只需正常使用git commit -m 提交即可,在执行git commit前,husky注册在git pre-commit的钩子会调起lint-staged, 暂存区中的代码通过src/*/.{js,vue}进行过滤,过滤后的文件依次执行lint-staged中配置的命令。格式化后的文件会自动重新添加到暂存区中,最后执行git commit完成提交。若eslint —fix没有通过,会中断提交的过程。

注意

新版lint-staged不需要配置git add命令,配置eslint —fix就可以自动提交修复代码风格后的文件。
image.png
旧版本配置

  1. "lint-staged": {
  2. "src/**/*.{js,vue}": [
  3. "eslint --fix",
  4. "git add"
  5. ]
  6. },

参考

https://github.com/okonet/lint-staged
https://www.jianshu.com/p/cdd749c624d9