吉安感知网项目-前端
edit | blame | history | raw

仓库指南

项目结构与模块组织

这是一个 pnpm monorepo,包含两个工作区根目录:
- applications/:可运行的应用
- applications/drone-web-manage:管理端(Vite + Vue 3)
- applications/command-center-dashboard:大屏指挥调度
- applications/drone-app-web-view:App WebView
- packages/:共享库(如 packages/apispackages/componentspackages/constantspackages/hookspackages/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> 调用,如 devservebuild:*

代码风格与命名约定

  • 格式化遵循 .prettierrc.json(使用制表符,printWidth: 120,单引号,无分号,CRLF)。
  • SCSS 覆盖配置使用 4 空格制表与双引号。
  • Vue 组件使用 PascalCase 命名(如 UserProfile.vue),页面目录同样使用 PascalCase
  • 共享逻辑优先放入 packages/*,避免在应用内复制粘贴。

测试规范

  • 当前未配置测试框架,pnpm test 会直接报错退出。
  • 如需新增测试,请在此文件注明测试框架与目录结构(例如 src/**/__tests__)。

提交与合并请求规范

  • 提交信息遵循 type: subject(例如 feat: add device filter)。
  • 常见类型:featfixdocsstylerefactorperftestchorecirevert
  • PR 需包含清晰的变更说明、关联的需求/缺陷链接,并为 UI 变更提供截图或 GIF。

环境与配置说明

  • Node.js 20以上
  • pnpm 9以上
  • 统一使用 pnpm,锁文件为 pnpm-lock.yaml