Skip to content

專案結構

詳見 系統架構 瞭解分層規則。

1. 頂層概覽

vue-h5-template/
├── apps/                # 執行時應用(UI 適配器 + Mock 後端)
├── packages/            # 可重複使用函式庫,依層組織
├── internal/            # 建置時工具(設定、Lint、TS、Vite)
├── scripts/             # CLI 工具
└── docs/                # VitePress 文件

2. apps/ — UI 適配層

apps/
├── h5-nutui/            # NutUI 適配器           (連接埠 5777)
├── h5-vant/             # Vant 適配器            (連接埠 5778)
├── h5-varlet/           # Varlet 適配器          (連接埠 5779)
└── backend-mock/        # Nitro Mock 伺服器      (連接埠 5320)

適配應用不應包含視圖、Store、API 呼叫或路由——這些都在特性套件與外殼中。

3. packages/ — 分層函式庫

packages/
├── @core/
│   ├── base/            # @vh5/core-base    — 純工具(tree、date、to…)
│   └── composables/     # @vh5/composables  — Vue Composable
├── api/                 # @vh5/api          — 介面宣告 + DTO
├── request/             # @vh5/request      — 型別化 fetch 客戶端 + 攔截器
├── services/            # @vh5/services     — 領域模型 & 業務規則
├── stores/              # @vh5/stores       — Pinia 初始化 + 持久化
├── locales/             # @vh5/locales      — i18n 初始化 + 共享字串
├── styles/              # @vh5/styles       — 全域 CSS & 設計 Token
├── utils/               # @vh5/utils        — 路由輔助工具
├── app-shell/           # @vh5/app-shell    — 啟動、版面配置、路由、守衛
└── features/
    ├── auth/            # @vh5/feature-auth
    ├── user/            # @vh5/feature-user
    ├── product/         # @vh5/feature-product
    └── home/            # @vh5/feature-home

4. 快速查找表

我想新增……放在……
新頁面packages/features/<feature>/src/views/
新 API 介面packages/api/src/<domain>.ts + services/<domain>.service.ts
新 Pinia Storepackages/features/<feature>/src/store.ts
新共享 Composablepackages/@core/composables/src/
新語言字串packages/features/<feature>/src/locales/<lang>.json
新全域樣式 / 設計 Tokenpackages/styles/src/global/

Released under the MIT License.