安装
yarn add husky lint-staged prettier
配置
husky
npx husky-init
这条指令会做三件事情
1. 在 package.json 的 scripts 中增加 "prepare":"husky install"
2. 生成 .husky 目录
3. 创建文件 .husky/pre-commit
在 package.json 的 scripts 中增加 "lint-staged":"lint-staged --allow-empty"
然后将文件 .husky/pre-commit 中的 npm test 修改为 npm run lint-staged
lint-staged
在 package.json 中增加
"lint-staged": {
"src/**/*.{js,jsx,ts,tsx,json,css,scss,md}": [
"prettier --write"
]
}
接下来 git commit 时就可以自动使用 prettier 来格式化代码了
原理
husky会安装一个 pre-commit hook 到 git 中, 执行的命令是 npm run lint-staged
lint-staged 会将每次要提交的文件用 prettier 进行格式化