这是一个 pnpm monorepo,包含两个工作区根目录:
- applications/:可运行的应用
- applications/drone-web-manage:管理端(Vite + Vue 3)
- applications/command-center-dashboard:大屏指挥调度
- applications/drone-app-web-view:App WebView
- packages/:共享库(如 packages/apis、packages/components、packages/constants、packages/hooks、packages/utils)
静态资源一般位于各应用的 public/ 与 src/assets/(例如 applications/drone-web-manage/public/img)。
默认在仓库根目录执行:
- pnpm install:安装所有工作区依赖。
- pnpm dev:启动所有应用的开发模式。
- pnpm dev:manage:启动 applications/drone-web-manage。
- pnpm dev:largeScreen:启动 applications/command-center-dashboard。
- pnpm dev:webView:启动 applications/drone-app-web-view。
- pnpm build:test:manage / pnpm build:prod:manage:构建管理端测试/生产包。
- pnpm build:test:largeScreen / pnpm build:prod:largeScreen:构建大屏应用。
- pnpm build:test:webView / pnpm build:prod:webView:构建 WebView 应用。
各应用内可用脚本使用 pnpm -C <app> <script> 调用,如 dev、serve、build:*。
.prettierrc.json(使用制表符,printWidth: 120,单引号,无分号,CRLF)。PascalCase 命名(如 UserProfile.vue),页面目录同样使用 PascalCase。packages/*,避免在应用内复制粘贴。pnpm test 会直接报错退出。src/**/__tests__)。type: subject(例如 feat: add device filter)。feat、fix、docs、style、refactor、perf、test、chore、ci、revert。pnpm,锁文件为 pnpm-lock.yaml。