Skip to content

项目结构

目录结构

根目录结构如下:

├── apps                        # 子应用
│ ├── example                   # 示例应用(内部,in)
│ ├── system                    # 系统应用(内部,in)
│ ├── out-app                   # 外部子应用(git submodule,独立仓库,out)
│ ├── appInit.ts                # 子应用公共初始化逻辑
│ ├── useMicroApp.ts            # 微应用挂载公共逻辑
│ └── apps.json                 # 子应用构建/CLI 清单(appKey/appType/devPort/proUrl)
├── assets                      # 共享模块(stores/utils/directives/constants/css/iconfont)
├── components                  # 共享组件库(@Pcomponents)
├── main                        # 主应用(wujie 容器)
├── develop                     # 开发模块(CLI + 接口 mock)
│ ├── cli                       # CLI:create/dev/build/add/remove/check
│ ├── mock                      # 接口 mock(可持久化到 localStorage)
│ ├── plugins                   # rsbuild 插件(distZipPlugin 打包压缩)
│ ├── dist                      # 打包产物(按应用分目录)
│ └── distZip                   # 打包压缩包
├── .env.example                # 环境变量模板(本地 .env 为 gitignore)
├── .gitignore                  # git忽略文件
├── .gitmodules                 # git子模块配置
├── env.d.ts                    # 全局类型声明
├── package.json                # 根依赖
├── tsconfig.base.json          # TypeScript 公共配置
├── pnpm-workspace.yaml         # 工作区配置
├── rsbuild.config.ts           # 打包配置
├── CHANGELOG.md                # 更新日志
├── CLAUDE.md                   # Claude 工程指引
└── README.md                   # 说明

说明

  • apps/:子应用目录。内部子应用(in)与主仓库共用 git;外部子应用(out)作为 git submodule 独立维护,需通过 pnpm run create 生成、以 apps/apps.json 驱动构建与 CLI。
  • assets/:跨应用共享模块,通过 @Passets 别名引用,包含共享 stores、工具函数、权限指令、常量、样式与 iconfont。
  • components/:共享组件库,通过 @Pcomponents 别名引用,base/ 为基础组件、more/ 为扩展组件(见 组件库)。
  • main/:wujie 容器主应用,负责登录、菜单/历史、子应用挂载(见 Main 主应用)。
  • develop/:工程化模块,包含交互式 CLI(create/dev/build/add/remove/check)、接口 mock、rsbuild 打包插件与产物目录。
  • 构建产物:执行 pnpm run build 后,主应用产物输出到 develop/dist/main,各子应用输出到 develop/dist/{appKey},同时 distZipPlugin 会各自打成 zip 到 develop/distZip/

京ICP备2025125905号