模块生成
使用 flu-cli add module 命令创建完整的功能模块结构。
基本用法
bash
flu-cli add module <name>
flu-cli a module <name>生成结构
lib/features/user/
├── pages/
│ └── index.dart
├── viewmodels/
│ └── index.dart
├── widgets/
│ └── index.dart
├── services/
│ └── index.dart
├── models/
│ └── index.dart
└── index.dart示例
创建用户模块
bash
flu-cli a module user在模块中添加功能
bash
# 添加页面
flu-cli a page user_list -f user
flu-cli a page user_detail -f user
# 添加服务
flu-cli a service user -f user --type api
# 添加模型
flu-cli a model user -f user
# 添加组件
flu-cli a widget user_avatar -f user模块组织
按功能划分
lib/features/
├── auth/ # 认证模块
├── user/ # 用户模块
├── product/ # 产品模块
└── order/ # 订单模块模块导出
每个 index.dart 自动导出模块内容:
dart
// lib/features/user/pages/index.dart
export 'user_list_page.dart';
export 'user_detail_page.dart';
// lib/features/user/index.dart
export 'pages/index.dart';
export 'viewmodels/index.dart';
export 'models/index.dart';完整示例
创建电商模块
bash
# 1. 创建模块
flu-cli a module shop
# 2. 创建产品相关
flu-cli a model product -f shop
flu-cli a service product -f shop --type api
flu-cli a page product_list -f shop
flu-cli a page product_detail -f shop
# 3. 创建购物车相关
flu-cli a model cart -f shop
flu-cli a service cart -f shop --type storage
flu-cli a page cart -f shop
# 4. 创建订单相关
flu-cli a model order -f shop
flu-cli a service order -f shop --type api
flu-cli a page order_list -f shop最佳实践
1. 模块独立性
每个模块应该相对独立,减少模块间依赖。
2. 共享资源
将通用功能放在 shared/ 目录:
lib/
├── shared/
│ ├── widgets/
│ ├── utils/
│ └── models/
└── features/
├── user/
└── shop/3. 模块通信
使用事件总线或状态管理进行模块间通信。