Skip to content

模块生成

使用 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. 模块通信

使用事件总线或状态管理进行模块间通信。

下一步

Released under the MIT License.