推荐使用 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(推荐)
Husky 是目前最主流的 Git Hooks 管理工具,它把钩子脚本声明式地写在 package.json 中,避免手动维护 .git/hooks/ 下的文件,也支持跨团队同步。
- 安装:运行
npm install husky --save-dev - 启用:执行
npx husky install(会创建.husky/目录并设置 Git 的 hooks path) - 添加 pre-commit 钩子:运行
npx husky add .husky/pre-commit "npm run lint-staged" - 搭配
lint-staged只检查暂存区文件,更快更精准
VSCode 配合:让编辑器“感知”检查结果
VSCode 不会自动触发 Git Hooks,但它能通过插件或配置,提前暴露潜在问题,减少被 hook 拦下的次数。
- 安装 ESLint、Prettier、TypeScript 插件,开启
"editor.codeActionsOnSave": { "source.fixAll": true } - 在
settings.json中设"eslint.run": "onType"或"onSave",实时提示错误 - 确保项目根目录有
.eslintrc.cjs、.prettierrc等配置,VSCode 插件才能正确读取规则
本地检查和 CI 保持一致
别让本地能过、CI 失败。把检查命令统一定义在 package.json#scripts 里,Git Hook 和 CI 都调用同一脚本。
系统功能强大、操作便捷并具有高度延续开发的内容与知识管理系统,并可集合系统强大的新闻、产品、下载、人才、留言、搜索引擎优化、等功能模块,为企业部门提供一个简单、易用、开放、可扩展的企业信息门户平台或电子商务运行平台。开发人员为脆弱页面专门设计了防刷新系统,自动阻止恶意访问和攻击;安全检查应用于每一处代码中,每个提交到系统查询语句中的变量都经过过滤,可自动屏蔽恶意攻击代码,从而全面防止SQL注入攻击
- 例如:
"scripts": { "lint": "eslint src/", "format": "prettier --write .", "check": "npm run lint && npm run type-check" } - Husky 的 pre-commit 调用
npm run check,CI 的 job 也跑这个命令 - 加
type-check脚本(如tsc --noEmit)可提前发现类型错误
跳过钩子要谨慎,但得留出口
偶尔需要绕过检查(比如写一半的 WIP 提交),可以用 git commit --no-verify 或简写 -n。但建议:
- 在团队文档中明确哪些情况允许跳过
- 避免在主分支相关分支上跳过 lint / test
- 考虑用
git commit -m "chore: wip" --no-verify加注释,提醒自己补检查
基本上就这些。核心是:Husky 拦住提交、VSCode 提前报错、脚本统一维护、跳过机制可控。不复杂但容易忽略细节,配好一次,后续所有提交都自动受保护。









