ESLint + Prettier Prettier + Git+ EditorConfig+ husky+ lint-staged+ Commitizen+ Commitlint

Git 提交流程自动化:Hook 触发增量 Lint 检查并规范化提交信息

husky 挂载 Git Hook,lint-staged 只检查暂存文件提速,Commitizen+Commitlint 保证提交信息规范

✓ 提交前自动代码检查✓ 提交信息统一规范

方案简介

该配方是 vue3.0-template-admin 内置的前端工程化方案:通过 husky 挂载 Git Hook,在提交时由 lint-staged 对暂存代码执行 lint 检查;代码风格由 EditorConfig、Prettier、ESLint 并配合 Airbnb JavaScript Style Guide 统一约束;提交信息通过 Commitizen 交互式生成并由 Commitlint 校验;同时使用 only-allow 统一包管理器。这一组合让团队协作时代码风格一致、提交历史规范可追溯。

组成与分工

  • husky:Git Hook 工具,在 git 提交等时机自动触发脚本
  • lint-staged:只对暂存(staged)文件执行 lint,检查更快
  • ESLint(含 eslint-plugin-vue):代码质量与 Vue 规范检查
  • Prettier + EditorConfig:统一代码格式化与编辑器配置
  • Airbnb JavaScript Style Guide:代码风格基准
  • Commitizen:交互式生成规范提交信息(git cz)
  • Commitlint:校验提交信息是否符合规范
  • only-allow:约束团队统一使用指定包管理器

使用与配置要点

日常开发提交流程:

bash
git add * // add everything

git status // check status

git cz // commit change

git push // push stage commit

如果 cz 命令无法找到,全局安装 commitizen:

bash
npm install -g commitizen

优缺点

  • ✓ 提交前自动代码检查
  • ✓ 提交信息统一规范

出处

本方案挖掘自开源项目 GeekQiaQia/vue3.0-template-admin,方案内容与实施命令均来自其 README 原文。

方案出处
GeekQiaQia/vue3.0-template-admin:本项目基于vue3+ElementPlus+Typescript+Vite搭建一套通用的后台管理模板;并基于常见业务场景,抽象出常见功能组件;包括动态菜单,菜单
1349 star 本项目基于vue3+ElementPlus+Typescript+Vite搭建一套通用的后台管理模板;并基于常见业务场景,抽象出常见功能组件;包括动态菜单,菜单权限、登录、主题切换、国际化、个人中心、表单页、列表页、复制文本、二维码分享等等

本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。