# husky + lint-staged + prettier

可以自定义 git 钩子方法,来实现拦截相应的功能

# 使用

  1. NODE要求:>10.x

  2. 安装 NPM 包

yarn add -D husky lint-staged prettier

当前文章安装完成后的版本为

"husky": "^6.0.0",
"lint-staged": "^11.0.0",
"prettier": "^2.3.1"
  1. 初始化
# YARN 1
npx husky-init && yarn
  1. 使用

在当前 GIT 目录下会自动生成 .husky文件夹,并在pre-commit文件内追加这几行:

node index.js

添加 index.js 文件,然后执行git add . && git commit -m "test",就可以执行了上面这行脚本,接下来我们添加 lint-staged

  1. 添加 lint-staged

lint-staged是一个可以只针对添加到暂存区的文件进行处理的工具

修改 pre-commit 文件:

# ...
npx --no-install lint-staged
yarn lint-staged

然后package.json中添加执行脚本

您也可以在单独的lintstagedrc文件中添加,这里不赘述,可以参考官方文档

{
  "lint-staged": {
    "*.{js,ts}": ["prettier --write"]
  }
}

接下来我们添加 Prettier

  1. 添加 Prettier

项目根目录新建 .prettierrc 文件,写入以下内容

{
  "semi": true,
  "singleQuote": true
}

然后我们再提交变更,可以看到样式不规范的代码已经自动格式化了,且其他文件不受影响。

# Reference

上次更新于: 6/6/2021, 2:53:16 PM