Eson Wong's Blog

编程笔记,投资记录, 读书总结, 生活心得

0%

Husky 入门教程

Husky

Husky 是一个 NPM 包,用更好的使用 Git 钩子来管理项目。通常它被用于项目的代码提交前的各类规范的检查。

安装和配置

  1. 安装 Husky

    1
    npm install husky --save-dev
  2. 启用 Husky

    1
    npx husky install
  3. 在 package.json 中添加 prepare 钩子,用于在 npm install 之后自动启用 Husky

    1
    npm set-script prepare "husky install"

    package.json 文件将会添加一个 prepare script:

    1
    2
    3
    4
    5
    {
    "scripts": {
    "prepare": "husky install"
    }
    }

创建钩子

1
npx husky add .husky/pre-commit "npm run lint"

配合 lint-staged 使用

lint-staged 是一个在提交代码前,只检查提交的文件的工具。它可以配合 Husky 使用,只检查提交的文件,而不是整个项目。

  1. 在项目中安装 lint-stagedeslint(或其他你需要的规范检查工具)

    1
    npm install lint-staged eslint --save-dev
  2. package.json 中添加 lint-staged 配置

    1
    2
    3
    4
    5
    {
    "lint-staged": {
    "*.{js,jsx,ts,tsx}": "eslint --fix"
    }
    }
  3. 创建使用 lint-staged 的钩子

    1
    npx husky add .husky/pre-commit "npx lint-staged"

配合 commitlint 使用

commitlint 是一个用于检查提交信息是否符合规范的工具。它可以配合 Husky 使用,检查提交信息是否符合规范。

  1. 在项目中安装 @commitlint/cli@commitlint/config-conventional

    1
    npm install @commitlint/cli @commitlint/config-conventional --save-dev
  2. 在项目根目录创建 commitlint.config.js 文件

    1
    module.exports = { extends: ["@commitlint/config-conventional"] };
  3. 创建使用 commitlint 的钩子

    1
    npx husky add .husky/commit-msg "npx --no-install commitlint --edit $1"

结语

Husky 是一个非常好用的工具,可以帮助我们更好的管理项目的代码提交规范。用来解决因个人编码风格差异引发的潜在冲突,提升团队协作效率。

欢迎关注我的其它发布渠道