husky

本文介绍了如何使用Husky在代码提交前执行代码格式化,以及如何配置lint-staged仅检查暂存区的代码,以提高开发效率并确保代码质量。
摘要由CSDN通过智能技术生成

配置 - 硅谷甄选

我们已经集成好了我们代码校验工具 eslint,prettier,stylelint,但是需要每次手动的去执行命令才会格式化我们的代码。

我们想要强制让开发人员按照代码规范来提交。

要做到这件事情,就需要利用 husky 在代码提交之前触发git hook(git在客户端的钩子),然后执行pnpm run format来自动的格式化我们的代码。

安装husky

pnpm install -D husky

执行

npx husky-init

会在根目录下生成个一个 .husky 目录,在这个目录下面会有一个 pre-commit 文件,这个文件里面的命令在我们执行 commit 的时候就会执行

.husky/pre-commit文件添加如下命令:

#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
pnpm run format

当我们对代码进行 commit 操作的时候,就会执行命令,对代码进行格式化,然后再提交。


默认进行的是全量检查,存在耗时问题,历史遗留问题。

所以,要只看暂存区的代码(自己的代码),需要暂存区 eslint 校验。

lint-staged 配置

  1. 安装
pnpm i lint-staged -D
  1. 配置 package.json
{
  // ... 省略 ...
  "lint-staged": {
    "*.{js,ts,vue}": [
      "eslint --fix"
    ]
  }
}

{
  "scripts": {
    // ... 省略 ...
    "lint-staged": "lint-staged"
  }
}
  1. 修改 .husky/pre-commit 文件
pnpm lint-staged

配置 - 仿问卷星

husky

git-hook

安装依赖

npm install husky -save-dev

参考文档 https://github.com/typicode/husky 增加三个 pre-commit 命令

npm run lint
npm run format
git add .

可以故意制造一个错误:定义一个未使用变量(eslint 配置文件 rules 增加 'no-unused-vars': 'error',

然后执行 git commit 试试

commit-lint

参考文档 https://github.com/conventional-changelog/commitlint#getting-started 安装设置即可

commit 规则查看 node_modules/@commitlint/config-conventional (在 commitlint.config.js 中有配置)

尝试 git commit -m "test" 会失败,再尝试 git commit -m "chore: commit lint" 会成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秀秀_heo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值