您好,欢迎访问宜昌市隼壹珍商贸有限公司
400 890 5375推荐使用 Husky 管理 Git Hooks,在 package.json 中声明式配置 pre-commit 钩子执行 lint-staged 等检查;VSCode 通过 ESLint 等插件实时提示错误,确保本地与 CI 检查一致;跳过需谨慎,仅限 WIP 等明确场景。
在代码提交前自动运行检查,关键在于用 Git Hooks 拦截 git commit 流程,并在其中执行检查命令(如 ESLint、Prettier、TypeScript 编译等),VSCode 本身不直接管理 hooks,但能无缝配合本地配置,让开发体验更顺滑。
Husky 是目前最主流的 Git Hooks 管理工具,它把钩子脚本声明式地写在 package.json 中,避免手动维护 .git/hooks/ 下的文件,也支持跨团队同步。
npm install husky --save-dev
npx husky install(会创建 .husky/ 目录并设置 Git 的 hooks path)npx husky add .husky/pre-commit "npm run lint-staged"
lint-staged 只检查暂存区文件,更快更精准VSCode 不会自动触发 Git Hooks,但它能通过插件或配置,提前暴露潜在问题,减少被 hook 拦下的次数。
"editor.codeActionsOnSave": { "source.fixAll": true }
settings.json 中设 "eslint.run": "onType" 或 "onSave",实时提示错误.eslintrc.cjs、.prettierrc 等配置,VSCode 插件才能正确读取规则别让本地能过、CI 失败。把检查命令统一定义在 package.json#scripts 里,Git Hook 和 CI 都调用同一脚本。
"scripts": { "lint": "eslint src/", "format": "prettier --write .", "check": "npm run lint && npm run type-check" }
npm run check,CI 的 job 也跑这个命令type-check 脚本(如 tsc --noEmit)可提前发现类型错误偶尔需要绕过检查(比如写一半的 WIP 提交),可以用 git commit --no-verify 或简写 -n。但建议:
git commit -m "chore: wip" --no-verify 加注释,提醒自己补检查基本上就这些。核心是:Husky 拦住提交、VSCode 提前报错、脚本统一维护、跳过机制可控。不复杂但容易忽略细节,配好一次,后续所有提交都自动受保护。