上一章说到通过pre-commit检测代码规范的问题,当我们进行代码提交时,会检测所有的代码格式规范。但是我们希望的是只检查修改的代码,所以需要配合lint-staged 插件来解决这个问题。
lint-staged可以让你当前的代码检查 ,只检查本次修改更新的代码,并在出现错误的时候,自动修复并且推送
lint-staged无需单独安装,我们生成项目时,已经帮助我们安装过了,所以我们直接使用就可以了
1.修改 package.json配置
"lint-staged": {
"src/**/*.{js,vue}": [
"eslint --fix",
"git add"
]
}
2.如上配置,每次它只会在你commit本地 之前,校验你提交的内容是否符合你本地配置的eslint规则(这个见文档eslint),),校验会出现两种结果:
1.如果符合规则:则会提交成功。
2.如果不符合规则:它会自动执行 eslint --fix尝试帮你自动修复,如果修复成功则会帮你把修复` 好的代码提交,如果失败,则会提示你错误,让你修好这个错误之后才能允许你提交代码。
3.修改.husky/pre-commit文件
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npx lint-staged
4.再次执行提交代码
5.发现 暂存区中不符合 的内容,被自动修复