web/console/LINT_SETUP.md
本项目已配置了完整的代码检查和格式化工具链,包括 commitlint + husky + eslint + stylelint + lint-staged。
@commitlint/cli - commitlint 命令行工具@commitlint/config-conventional - 常规提交规范配置husky - Git hooks 管理工具eslint - JavaScript/TypeScript 代码检查eslint-config-airbnb-base - Airbnb 代码规范(已定制化调整)stylelint - CSS/SCSS/Vue 样式检查stylelint-config-standard - 标准样式规范stylelint-config-recommended-vue - Vue 样式推荐规范lint-staged - 只对 staged 文件进行检查的工具prettier - 代码格式化工具定义了提交消息的规范,支持以下类型:
feat: 新增功能fix: 修复缺陷docs: 文档变更style: 代码格式修改refactor: 代码重构perf: 性能优化test: 测试相关build: 构建相关ci: CI 配置chore: 杂项revert: 回滚wip: 开发中workflow: 工作流程改进types: 类型声明修改ESLint 配置,基于 Airbnb 规范并进行了项目定制化调整:
样式检查配置:
定义了对不同文件类型的处理:
提交前自动运行 lint-staged
提交时检查提交消息格式
Git 提交时会自动执行:
pre-commit hook 运行 lint-staged 检查和修复 staged 文件commit-msg hook 检查提交消息格式# 检查所有 TypeScript/JavaScript 文件
npm run lint
# 检查所有样式文件
npm run stylelint
# 只检查 staged 文件
npm run lint-staged
# 格式化所有文件
npm run format
# 检查提交消息格式
npm run commitlint
# ✅ 正确格式
git commit -m "feat: 添加用户登录功能"
git commit -m "fix: 修复登录页面样式问题"
git commit -m "docs: 更新 README 文档"
# ❌ 错误格式
git commit -m "add login feature"
git commit -m "fix bug"
git commit -m "update"
git add 暂存要提交的文件git commit -m "feat: 描述"pre-commit hook:
commit-msg hook:
如需调整规则,可以修改对应的配置文件:
.eslintrc.cjsstylelint.config.jscommitlint.config.jslint-staged.config.js在紧急情况下可以绕过检查:
# 绕过所有 hooks
git commit --no-verify -m "emergency fix"
注意:绕过检查可能导致代码质量问题,请谨慎使用。
如果提交被拒绝,请检查:
如果 Vue 文件中的 v-if 指令被错误地换行到最左边:
.vscode/settings.json 配置editor.defaultFormatter 设置为 esbenp.prettier-vscode为确保格式化正常工作,请:
settings.json 中的格式化器设置正确如果自动格式化不生效,请:
如果 CSS 样式检查报错,请:
项目已配置了 .vscode/settings.json 和 .vscode/extensions.json:
settings.json: 确保 VSCode 使用正确的格式化器和设置extensions.json: 推荐安装的扩展列表esbenp.prettier-vscodev-if 等指令被强制换行