配置prettier+husky+lint-staged,使多人开发项目更加规范!

311 阅读1分钟

安装 prettier 依赖

yarn add -D prettier eslint-config-prettier eslint-plugin-prettier prettier-eslint-cli

配置 .eslintrc.js

extends: [
    "plugin:react-hooks/recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:react/recommended",
    "plugin:prettier/recommended"
  ]

安装 husky lint-staged 依赖

yarn add -D husky@^6.0.0 lint-staged

配置 package.json

"scripts": {
   "postinstall": "husky install"
 },
"husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "projects/**/*.{jsx,tsx,ts,js}": [
      "prettier --write",
      "eslint --fix",
      "git add"
    ]
  }

最后执行 npx husky add .husky/pre-commit "npx --no-install lint-staged"

踩坑

配置完后,发现修改代码 husky 还是没生效。原因有可能如下

  1. husky 会在 .git 中注册hooks,可以删除依赖重新安装一下
  2. husky 在升级到高版本之后,改动极大。网上的很多配置方法都是低版本的,所以可能跟着教程走会无法触发钩子