安装 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 还是没生效。原因有可能如下
- husky 会在 .git 中注册hooks,可以删除依赖重新安装一下
- husky 在升级到高版本之后,改动极大。网上的很多配置方法都是低版本的,所以可能跟着教程走会无法触发钩子