项目结构
了解 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.yamlClean 模板结构
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/
按功能模块组织代码。