前端团队规范——husky + lint-staged 构建代码检查工作流

前言

  • 为了保证代码质量,大部分前端项目会在 git commit 时候进行 lint 校验。使用的是 husky 与lint-staged 两个包来实现。
  • 在 2021 年 1 月 27 日,husky 迎来了 v5 的大版本升级,配置方式较上一版本有了比较大的变化。此后再按照原来的套路配置 husky 和 lint-staged,结果将是钩子校验无法生效,下面是 husky v8版本的实现方法。

实现步骤

  1. 在项目的 package.json 文件中添加相关依赖、命令
{
   "scripts": { 
     "prepare": "husky install" 
   },
   "devDependencies": {
     "husky": "^8.0.3",
     "lint-staged": "^13.2.3",
   },
}
  1. 安装依赖
yarn/npm i

安装完依赖后,会自动运行npm run prepare,此时会在项目根目录下生成.husky目录
3. 添加 pre-commit git hook

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

可以发现 .husky 目录下新增了 pre-commit 脚本,内容如下:

. "$(dirname "$0")/_/husky.sh" 

npm run lint-staged

也就是在执行 git commit 前会先执行 pre-commit 脚本
4. 配置 lint-staged
在项目的 package.json 文件中添加相关命令、配置

   "scripts": { 
     "lint-staged": "lint-staged",
   },
   "lint-staged": {
    "**/*.less": "stylelint --syntax less",
    "**/*.{js,jsx,ts,tsx}": "npm run lint-staged:js",
    "**/*.{js,jsx,tsx,ts,less,md,json}": [
      "prettier --write"
    ]
  },
}

这样后续执行 pre-commit 脚本时,就会运行脚本里面的 npm run lint-staged,实现提交代码时只检测暂存区的文件,配置到此,用命令行进行代码提交时,便可以成功进行代码提交检查。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值