方案:pre-commit + lint-staged
npm install pre-commit lint-staged --save-dev
package.json 配置:
{
"scripts": {
"lint:staged": "lint-staged"
},
"lint-staged": {
"linters": {
"*.js": ["eslint --ignore-path .gitignore --fix"]
}
},
"pre-commit": "lint:staged"
}
--ignore-path .gitignore 建议使用,特殊需求可以用 .eslintignore。