Skip to content

模板管理 (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

可以切换模板吗?

不建议在项目创建后切换模板。如需切换,建议:

  1. 创建新项目
  2. 手动迁移代码

模板可以自定义吗?

可以!flu-cli 支持本地和 Git 自定义模板。

模板会更新吗?

会的。使用以下命令更新:

bash
flu-cli update-templates

下一步

Released under the MIT License.