配置 husky

413 阅读1分钟

官网

1、介绍

关于 Husky 和暂存区

Husky 是一个用于在 Git 中设置钩子(hooks)的工具,它可以帮助开发者在执行某些 Git 命令(如 commit、push 等)之前或之后自动运行脚本。这在确保代码质量、遵循编码标准等方面非常有用。

Husky 与 暂存区 的结合使用

pre-commit:这是 Husky 最常用的钩子之一。通过配置 pre-commit 钩子,可以在每次执行 git commit 命令之前自动运行指定的脚本。这些脚本可以用来执行代码风格检查、代码质量分析、单元测试等任务。

Lint-staged:通常与 Husky 结合使用,Lint-staged 能够帮助开发者仅对暂存区中的文件执行特定的任务,比如通过 ESLint 进行代码风格检查。这种方式不仅提高了效率,还减少了不必要的全局代码检查,特别是在大型项目中更为明显。

2、安装、配置

安装
# 使用 npm
npm install husky lint-staged --save-dev

# 使用 yarn
yarn add husky lint-staged --dev

初始化 Husky
npx husky install

设置 pre-commit 钩子
# 方式一:husky add 命令'已弃用'
npx husky add .husky/pre-commit "npx lint-staged"


# 方式二:使用 npx husky set 命令来创建 pre-commit 钩子
npx husky set .husky/pre-commit "npx lint-staged"


# 方式三:手动创建 .husky/pre-commit
npx lint-staged

配置 lint-staged
{
  "scripts": {
    "prepare": "husky install"
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{js,ts,jsx,css,less,sass,json,vue}": [
      "eslint --fix",
      "git add"
    ]
  }
}