代码格式与调试
这篇解决什么
改完 web-antd 要跑哪几条命令、SFC 块怎么排、哪些目录名会把 Windows 克隆搞挂。读完按仓库约定交代码,不要靠编辑器各人一套格式。
日常启动仍是 pnpm dev:antd,代理到 48080。工程入口见 前端工程结构。
示意图:先格式再 lint。类型检查可按模块收窄。
从哪改
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 命令 | pnpm lint、pnpm check:type、pnpm test:unit | ruoyi-office-vben/package.json |
| 主应用约定 | 导入、表格、SFC 顺序 | ruoyi-office-vben/AGENTS.md |
| 停写钩子 | 改 apps/web-antd/src/ 后自动 oxfmt / eslint | .cursor/hooks/format-frontend.mjs |
| 后端对照 | Java 分层不要抄到 Vue | ruoyi-office/yudao-module-system/ |
改完页面,至少对本文件跑:
powershell
pnpm oxfmt --threads 1 apps/web-antd/src/views/...
pnpm eslint --fix --cache apps/web-antd/src/views/...不要 --no-verify 跳过 hook。全仓 pnpm lint 很重,提交前至少保证改过的文件干净。
SFC 顺序:<script lang="ts" setup> → <template> → <style scoped>。类型用 import type。未用形参、变量加 _ 前缀。禁止 any;复杂条件拆函数,ESLint 不让嵌套三元。
提交前删调试 console.log。模板里组件 PascalCase,属性 kebab-case。列表长度用 items.length > 0,不要把空数组当假值凑合。
Windows 保留名不能当目录:aux、con、prn、nul、com1–com9、lpt1–lpt9。用 auxiliary。
字段
| 名称 | 说明 | 仓库路径 |
|---|---|---|
#/* | 指向 src/ | apps/web-antd/tsconfig.json |
only-allow pnpm | 禁止 npm / yarn 装依赖 | 根 preinstall |
lefthook | commit 钩子 | 根 prepare |
钩子不是免检金牌
Agent 停写会跑 format。本机没装 hook、或改的是 packages/,仍要自己跑命令。
调试先看网络面板
接口 code !== 0 会被 请求封装 拦成 toast。先对 path、权限字、日期格式,再改组件。
text
<script lang="ts" setup>
import type { Foo } from './data';
</script>
<template>...</template>
<style scoped></style>