flutter create= 毛坯房,搭架子 30 分钟,一行业务都没写。Flu CLI = 精装房,5 秒拎包入住。
😤 flutter create 给你了什么?
flutter create my_app
lib/
└── main.dart # 一个 Counter Demo,就这?
然后你要:
- 手动建 10+ 个目录(5 分钟)
- 写 BasePage、BaseViewModel 基类(10 分钟)
- 配路由、主题、删示例代码(10 分钟)
总计 30 分钟,一行业务都没写。 😡
🚀 Flu CLI 的方式:5 秒精装房
操作步骤
3 步搞定:
- 右键空文件夹 → 选择
Flu: 创建新项目 - 选择模板 → 输入项目名(如
my_app)→ 输入包名(如com.example.myapp) - 等 5 秒 → 项目自动在新窗口打开
完事儿。
你得到了什么?
以 Modular 模板为例:
my_app/
├── lib/
│ ├── core/
│ │ ├── base/
│ │ │ ├── base_page.dart # ✅ 基类写好了
│ │ │ └── base_viewmodel.dart # ✅ 基类写好了
│ │ ├── theme/
│ │ │ └── app_theme.dart # ✅ 主题配好了
│ │ └── router/
│ │ └── app_router.dart # ✅ 路由配好了
│ ├── features/
│ │ └── home/
│ │ ├── pages/
│ │ │ └── home_page.dart # ✅ 示例页面有了
│ │ ├── viewmodels/
│ │ │ └── home_viewmodel.dart # ✅ 示例 VM 有了
│ │ └── widgets/
│ ├── shared/
│ │ ├── models/
│ │ ├── services/
│ │ └── widgets/
│ └── main.dart
├── .flu-cli.json # ✅ 配置文件也有了
└── pubspec.yaml
关键是:这些代码都是能跑的,不是空壳!
BasePage、BaseViewModel、主题配置、路由配置...全部写好了。
📦 4 种内置模板
选择困难?看这张表 👇
| 模板 | 适合场景 | 结构 | 推荐 |
|---|---|---|---|
| Lite | Demo、快速验证 | pages/widgets/models/ | ⭐⭐⭐ |
| Modular | 中大型项目、团队开发 | core/features/shared/ | ⭐⭐⭐⭐⭐ |
| Clean | 企业级、严格分层 | domain/data/presentation/ | ⭐⭐⭐⭐ |
| Custom | 团队统一标准 | 自定义 | ⭐⭐⭐⭐⭐ |
Lite:轻装上阵
lib/
├── pages/
├── widgets/
├── models/
└── main.dart
一句话:扁平结构,快速开发,不适合大项目。
Modular:推荐 ⭐
lib/
├── core/ # 基类、主题、路由
├── features/ # 功能模块(home/auth/profile...)
└── shared/ # 共享层(models/services/widgets)
一句话:按功能分模块,团队协作首选。
Clean:架构洁癖者专属
lib/
├── domain/ # 领域层
├── data/ # 数据层
└── presentation/ # 表现层
一句话:严格分层,学习曲线陡,企业级项目适用。
Custom:团队的「黄金标准」 🔥
把公司标准项目放 Git 仓库,配置成自定义模板,新人 5 秒上手。
详见下文 👇
🎨 自定义模板:团队的「黄金标准」
场景
问题:
- 公司有一套标准项目结构
- 包含封装好的网络库、主题、基类、工具类
- 每次新项目都要从老项目复制?太 low 了
解决方案:把标准项目放 Git 仓库,配置成自定义模板。
Step 1:准备 Git 仓库
把你们公司的标准项目结构推到 Git 仓库:
# 示例仓库
https://gitee.com/your-company/flutter-template.git
仓库内容:
flutter-template/
├── lib/
│ ├── core/
│ │ ├── network/
│ │ │ └── http_client.dart # 封装好的网络库
│ │ ├── base/
│ │ │ ├── base_page.dart
│ │ │ └── base_viewmodel.dart
│ │ └── theme/
│ │ └── company_theme.dart # 公司统一主题
│ ├── features/
│ └── shared/
├── .flu-cli.json # ✅ 配置文件也放进去
└── pubspec.yaml
Step 2:在 Flu CLI 中添加模板
Flu CLI 支持两种模板来源:
方式一:Git 仓库(推荐)
操作:
- 右键空文件夹 →
Flu: 创建新项目 - 选择
自定义模板... - 选择
$(repo) Git 仓库 - 输入仓库 URL:
https://gitee.com/your-company/flutter-template.git - 输入分支名:
main(默认) - 给模板起个名字:
公司标准模板 - (可选)输入描述
优点:
- ✅ 团队共享,所有人都能拉取
- ✅ 支持版本管理,模板更新方便
- ✅ 支持 Gitee/GitHub/GitLab/私有仓库
方式二:本地文件夹
操作:
- 右键空文件夹 →
Flu: 创建新项目 - 选择
自定义模板... - 选择
$(folder-opened) 本地文件夹 - 选择本地项目目录(如
/Users/you/my-template) - 给模板起个名字:
我的本地模板 - (可选)输入描述
优点:
- ✅ 不需要 Git 仓库
- ✅ 适合个人使用
- ✅ 修改立即生效
下次创建项目:
模板列表里会出现 公司标准模板 / 我的本地模板,选它就完事儿。
好处
| 对比 | 传统方式 | 自定义模板(Git) | 自定义模板(本地) |
|---|---|---|---|
| 新项目创建 | 从老项目复制 30 分钟 | 5 秒 | 5 秒 |
| 团队统一 | 靠文档约束,不靠谱 | 100% 统一 | 仅个人使用 |
| 模板更新 | 手动通知所有人 | Git 仓库更新,重新拉取 | 直接修改本地目录 |
| 新人入职 | 培训 2 小时 | 5 秒上手 | 5 秒上手 |
| 网络要求 | - | 需要能访问 Git | 不需要 |
配置一次,全员受益。 🐟🐟🐟
🔧 高级选项
| 选项 | 效果 |
|---|---|
✅ 初始化配置文件 | 自动生成 .flu-cli.json,后续生成文件时自动应用配置 |
✅ 配置 App 资源 | 顺便把图标和启动图一起配了,一步到位 |
❓ FAQ
| 问题 | 答案 |
|---|---|
| 创建失败? | 检查网络、查看 VSCode 输出面板、确认 Flutter 已安装 |
| 能改生成的结构吗? | 当然,就是普通 Flutter 项目,随便改 |
| 自定义模板必须是 Git? | 不是,支持 Git 仓库和本地文件夹两种方式 |
| 会覆盖项目名和包名吗? | 会,自动替换 |
🐟 摸鱼小结
| 功能 | 传统 | Flu CLI | 省时 |
|---|---|---|---|
| 建项目 | 30 分钟 | 5 秒 | 29 分 55 秒 |
| 建 10 个项目 | 5 小时 | 50 秒 | 4 小时 59 分 |
| 3 年建 50 个 | 25 小时 | 4 分钟 | 24 小时 56 分 |
建项目从此告别搬砖。 🐟🐟🐟
📚 系列文章
💬 交流群:加微信
Huoye-TT备注 "flu-cli"⭐ 开源地址:Gitee | 求 Star!
📖 完整文档:huozhiye.cn/flu-cli/
如果这篇文章让你告别了搬砖,点个赞呗 👍