外观
找到代码应该放在哪里
本页帮助你从页面现象定位到负责它的文件。先判断改动属于业务应用、共享能力还是站点内容,再选择目录。
工作区地图
text
apps/
demo/
src/api/ 业务请求与 DTO
src/hooks/ 列表、筛选、加载和变更流程
src/views/ 页面与页面私有组件
src/locales/ 中英文业务文案
src/modules.ts 业务模块、路由与权限声明
src/routes.ts 常驻页和公开页
mock/ 开发与浏览器共用的处理器
public/ 原样复制的静态资源
website/ 官网、指南与组件文档
packages/
protocol/ 前后端契约
core/ HTTP、i18n、指令和工具
ui/ 基础与数据组件、主题
layout/ 后台布局
app/ 应用装配、store、路由守卫
modules/ 可选系统管理模块
extras/ 按需展示能力
create-uadmin/ 模板脚手架根目录的 e2e/ 验证页面流程,scripts/ 放构建和包消费检查,公开能力见功能概览。官网文档独立存放在 apps/website/,不包含私人维护文档。
沿一条数据链路阅读
以任务页为例:
| 文件 | 你应该在这里找到什么 |
|---|---|
apps/demo/src/api/task.ts | 查询参数、返回数据、变更请求 |
apps/demo/mock/tasks.mock.ts | 种子数据、验证、筛选和写入 |
apps/demo/src/hooks/useTaskList.ts | 复用列表状态,写入后刷新 |
apps/demo/src/views/tasks/index.vue | 表格、表单、按钮和交互反馈 |
apps/demo/src/modules.ts | 页面路径、模块名、访问权限 |
修改返回字段时,应从 API 类型开始同步更新 Mock 和页面;修改排序或分页时,先看 useRemoteList 是否已有能力。
共享能力的边界
业务页面只用一次的组件留在对应 views 目录。多个模块都要用的通用组件,先检查 @uadmin/ui。只有职责稳定、脱离演示数据仍成立的能力才进入共享包。
登录状态从 useSessionStore 读取,主题从 usePrefsStore 读取,导航从 useNavStore 读取。不要在 apps/demo/src/hooks 复制这些内核状态。
新增文件后要同步什么
新增页面需登记到 apps/demo/src/views/page-nav/entries.ts 的对应业务分组;不同预览状态分别提供入口。新增词条同步中英文 JSON。新增能力在同一提交更新相关包文档与公开功能概览。
资源先查已有文件:应用打包资源可放 src/assets,需固定 URL 的静态文件放 public;部署子路径时参照部署指南,避免写死根地址。
定位问题
页面可打开但无数据,先查 API 和 Mock;页面完全匹配不到,查模块注册与导航快照;菜单不翻译,查双层 i18n 注册;所有页面样式一起变化,查共享主题而非逐页补丁。