Skip to content

项目结构

了解 flu-cli 生成的项目结构和最佳实践。

Lite 模板结构

my_app/
├── lib/
│   ├── main.dart              # 应用入口
│   ├── app.dart               # 应用配置
│   ├── pages/                 # 页面
│   ├── viewmodels/            # 视图模型
│   ├── widgets/               # 简单组件
│   ├── components/            # 复合组件
│   ├── services/              # 业务服务
│   ├── models/                # 数据模型
│   ├── config/                # 配置
│   └── utils/                 # 工具类
├── assets/                    # 资源文件
├── test/                      # 测试文件
└── pubspec.yaml              # 依赖配置

Modular 模板结构

my_app/
├── lib/
│   ├── main.dart
│   ├── core/                  # 核心基础设施
│   │   ├── theme/            # 主题系统
│   │   ├── router/           # 路由系统
│   │   └── constants/        # 常量定义
│   ├── shared/               # 共享资源
│   │   ├── widgets/          # 通用组件
│   │   └── utils/            # 工具类
│   └── features/             # 业务功能模块
│       └── home/
│           ├── pages/
│           ├── viewmodels/
│           ├── widgets/
│           ├── services/
│           └── models/
├── assets/
├── test/
└── pubspec.yaml

Clean 模板结构

my_app/
├── lib/
│   ├── main.dart
│   ├── core/                  # 核心层
│   ├── features/              # 功能模块
│   │   └── home/
│   │       ├── data/         # 数据层
│   │       ├── domain/       # 领域层
│   │       └── presentation/ # 表现层
│   ├── shared/               # 共享资源
│   └── config/               # 配置层
├── assets/
├── test/
└── pubspec.yaml

目录说明

pages/

存放页面文件,每个页面对应一个路由。

viewmodels/

存放视图模型,管理页面状态和业务逻辑。

widgets/

存放简单的、可复用的 UI 组件。

components/

存放复合组件,包含多个 Widget。

services/

存放业务服务,处理 API 调用、数据存储等。

models/

存放数据模型类。

core/

存放核心基础设施,如主题、路由、常量等。

shared/

存放跨模块共享的资源。

features/

按功能模块组织代码。

下一步

Released under the MIT License.