# 01. 仓库地图(Directory Map) > 目标:让 AI 快速定位“要复用的能力”在哪个目录、入口是什么、依赖闭包有哪些。 ## `src/`(应用主代码) - `src/main.ts`:应用入口;决定 mock/pwa 与各子系统初始化顺序 - `src/App.vue`:根组件;包含生产环境禁调试逻辑(`disable-devtool`) - `src/router/`:路由与权限控制(重点:`index.ts`、`permissions`) - `src/store/`:Pinia 初始化与业务 store 模块 - `src/i18n/`:国际化初始化、语言获取与翻译辅助 - `src/api/`:按域拆分 API 调用函数(示例:`src/api/router.ts`) - `src/utils/`:通用工具与基础能力(时间格式化、树结构转换、UUID 等) - `src/views/`:业务页面集合(通常与路由对应) - `src/icon/`:图标加载(由 `library/index.ts` 里的 `import '@/icon'` 引入) - `src/config/`:运行时/构建期配置聚合导出(`vue.config.js` 会 `require('./src/config')`) ## `library/`(模板基础库) - `library/index.ts`:`setupVab(app)` 的实现: - 全局样式:`library/styles/vab.scss` - 图标注册:`vab-icons` + `@element-plus/icons-vue` - 背景样式:`library/styles/background/*.scss` - 插件加载:`library/plugins/**/*.ts` 并 `app.use()` - `library/build/`:构建期扩展(webpack chain、vue plugins) ## `library/plugins/`(全局插件) - `vab.ts`:全局注入(gp)与事件总线(`$pub/$sub/$unsub`) - `directive.ts`:指令(`v-permissions`) - `errorLog.ts`:全局错误捕获(`app.config.errorHandler`) - `support.ts`:构建信息输出/依赖检查 ## `library/components/`(可复用 UI 组件库) - `Vab*` 前缀:约定为基础组件/布局子组件(菜单、tabs、header、breadcrumb 等) - `VabTheme`:主题系统入口(主题抽屉/设置面板),依赖 `$pub/$sub` 与 settings store ## `library/layouts/`(布局体系) - `library/layouts/index.vue`:主 Layout 入口(路由壳) - `library/layouts/VabLayout*`:多套布局可选(垂直/横向/综合/浮动/分栏等) ## `mock/`(开发期 Mock) - `mock/index.js`:devServer 中间件;读取并注册 `mock/controller/*` - `mock/controller/*.js`:每个文件导出路由数组(`url/type/response`) ## `types/`(类型声明) - `types/*.d.ts`:路由/store/theme/vab 等声明,配合 `/#` 别名使用