如何在项目中使用git hook规范化代码

什么是Git Hooks?

参考资料:官方文档

简单的讲,所谓Hook,一般就是在特定时期提供一个可介入自定义的脚本;

Husky

大多数前端程序员对编写shell脚本是不熟悉的,这个时候就有个神奇的工具Husky来帮助我们实现Git Hooks的使用需求;

npm install husky -D

// 旧版本
{
   
  ...,
  "husky": {
   
    "hooks": {
   
      "pre-commit": "npm run test"
    }
  }
}

// 新版本
{
   
  "scripts": {
   
    "prepare": "husky install"
  },
  // 命令行执行 npx husky add .husky/pre-commit "npx lint-staged"
  "lint-staged": {
   
    "*.{js,jsx,vue,ts,tsx}": [
      "npm run lint",
      "git add"
    ]
  }
}

Lint-staged

lint-staged 是一个在git暂存文件上运行linters的工具

如果我们想在husky执行了npm run test之后再去做格式化,或者将格式化之后的代码添加到暂存区,这个时候Husky就不够用了,这个时候又有个神奇的工具Lint-staged来帮助我们实现该需求;

npm install lint-staged -d

{
   
  ...,
  // 旧版本的husky需要在这里配置pre-commit属性&#x

你可能感兴趣的:(前端工程化,前端,webpack,javascript,git)