模板管理 (templates)
templates 命令用于查看所有可用模板或指定模板的详细信息。
提示:在创建或切换模板前,建议执行
flu-cli update-templates --force,确保本地缓存模板为远端最新且已清理未跟踪文件。
基本用法
bash
flu-cli templates [template-name]
# 简写
flu-cli t [template-name]查看所有模板
不提供模板名称时,显示所有可用模板:
bash
flu-cli templates
# 或
flu-cli t输出示例
📦 可用模板:
┌─────────────────────────────────────────────────────────┐
│ Lite - 精简版 │
├─────────────────────────────────────────────────────────┤
│ 最小依赖,单文件结构,适合小型项目和快速原型 │
│ │
│ 适用场景: 快速原型、个人项目 │
│ 团队规模: 1-3 人 │
│ 代码量级: < 10k 行 │
│ 复杂度: ⭐ │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│ Modular - 模块化版 │
├─────────────────────────────────────────────────────────┤
│ 模块化结构,功能分组,适合中型项目 │
│ │
│ 适用场景: 中型项目、团队协作 │
│ 团队规模: 3-10 人 │
│ 代码量级: 10k-50k 行 │
│ 复杂度: ⭐⭐⭐ │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│ Clean - 分层版 │
├─────────────────────────────────────────────────────────┤
│ 严格分层架构,清晰的目录结构,适合大型项目 │
│ │
│ 适用场景: 大型项目、企业应用 │
│ 团队规模: 5+ 人 │
│ 代码量级: > 20k 行 │
│ 复杂度: ⭐⭐⭐⭐⭐ │
└─────────────────────────────────────────────────────────┘
使用 'flu-cli t <template-name>' 查看详细信息查看模板详情
提供模板名称时,显示该模板的详细信息:
bash
flu-cli templates lite
flu-cli t modular
flu-cli t clean输出示例
bash
flu-cli t modular📦 Modular - 模块化版
描述:
模块化结构,功能分组,适合中型项目
适用场景:
中型项目、团队协作
团队规模: 3-10 人
代码量级: 10k-50k 行
复杂度: ⭐⭐⭐
核心特性:
✅ 模块化结构
✅ 路由配置独立
✅ 主题配置独立
✅ 功能分组
目录结构:
lib/
├── 📄 main.dart
├── 📁 core/ # 核心基础设施
│ ├── theme/ # 主题系统
│ ├── router/ # 路由系统
│ ├── constants/ # 常量定义
│ └── base/ # 基础类
├── 📁 shared/ # 跨模块共享
│ ├── widgets/ # 通用组件
│ ├── components/ # 复合组件
│ ├── models/ # 通用模型
│ └── utils/ # 工具类
└── 📁 features/ # 业务功能模块
└── home/ # 首页模块
├── pages/
├── viewmodels/
├── widgets/
├── services/
└── models/
创建项目:
flu-cli new my_app -t modular模板对比
查看所有模板后,可以根据以下维度选择:
按团队规模
| 团队规模 | 推荐模板 |
|---|---|
| 1-3 人 | Lite |
| 3-10 人 | Modular |
| 5+ 人 | Clean |
按代码量
| 代码量 | 推荐模板 |
|---|---|
| < 10k 行 | Lite |
| 10k-50k 行 | Modular |
| > 20k 行 | Clean |
按项目类型
| 项目类型 | 推荐模板 |
|---|---|
| 快速原型 | Lite |
| MVP 产品 | Lite / Modular |
| 中型应用 | Modular |
| 企业应用 | Clean |
| 大型项目 | Clean |
按复杂度
| 复杂度 | 模板 | 学习曲线 |
|---|---|---|
| ⭐ | Lite | 简单 |
| ⭐⭐⭐ | Modular | 中等 |
| ⭐⭐⭐⭐⭐ | Clean | 较高 |
模板特点
Lite 模板
优点:
- ✅ 最小依赖,启动快
- ✅ 结构简单,易上手
- ✅ 适合快速原型
- ✅ 代码量少,维护简单
缺点:
- ❌ 不适合大型项目
- ❌ 缺少严格的分层
- ❌ 扩展性有限
适用场景:
- 快速原型验证
- 个人项目
- 学习 Flutter
- 小型工具应用
Modular 模板
优点:
- ✅ 模块化结构,易扩展
- ✅ 功能分组,职责清晰
- ✅ 适合团队协作
- ✅ 平衡了简单和复杂
缺点:
- ❌ 比 Lite 复杂
- ❌ 需要理解模块化概念
适用场景:
- 中型项目
- 团队协作
- MVP 产品
- 持续迭代的项目
Clean 模板
优点:
- ✅ 严格分层,职责明确
- ✅ 易于测试
- ✅ 适合大型项目
- ✅ 符合 Clean Architecture
缺点:
- ❌ 结构复杂,学习曲线高
- ❌ 代码量大
- ❌ 可能过度设计
适用场景:
- 大型项目
- 企业应用
- 长期维护的项目
- 需要严格测试的项目
选择建议
新手开发者
推荐从 Lite 开始:
bash
flu-cli new my_first_app -t lite有经验的开发者
推荐使用 Modular:
bash
flu-cli new my_app -t modular企业级项目
推荐使用 Clean:
bash
flu-cli new enterprise_app -t clean不确定?
从 Modular 开始,它是最平衡的选择:
- 不会太简单导致后期重构
- 不会太复杂导致上手困难
- 适合大多数项目场景
自定义模板
除了内置模板,flu-cli 还支持自定义模板:
查看自定义模板
自定义模板会出现在模板列表中:
bash
flu-cli t📦 可用模板:
内置模板:
- Lite
- Modular
- Clean
自定义模板:
- My Custom Template (本地)
- Team Template (Git)添加自定义模板
在创建项目时选择"新增自定义模板":
bash
flu-cli new
# 选择: 新增自定义模板(本地或 Git)详见自定义模板。
常见问题
如何选择模板?
根据项目规模和团队大小选择:
- 小项目 → Lite
- 中项目 → Modular
- 大项目 → Clean
可以切换模板吗?
不建议在项目创建后切换模板。如需切换,建议:
- 创建新项目
- 手动迁移代码
模板可以自定义吗?
可以!flu-cli 支持本地和 Git 自定义模板。
模板会更新吗?
会的。使用以下命令更新:
bash
flu-cli update-templates