🐟 Flutter 摸鱼指南(一):5 秒建项目,拒绝搬砖

513 阅读5分钟

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 秒精装房

create-project-modular.gif

操作步骤

3 步搞定

  1. 右键空文件夹 → 选择 Flu: 创建新项目
  2. 选择模板 → 输入项目名(如 my_app)→ 输入包名(如 com.example.myapp
  3. 等 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 种内置模板

选择困难?看这张表 👇

模板适合场景结构推荐
LiteDemo、快速验证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 中添加模板

add-custom-template.gif

Flu CLI 支持两种模板来源

方式一:Git 仓库(推荐)

操作

  1. 右键空文件夹 → Flu: 创建新项目
  2. 选择 自定义模板...
  3. 选择 $(repo) Git 仓库
  4. 输入仓库 URL:https://gitee.com/your-company/flutter-template.git
  5. 输入分支名:main(默认)
  6. 给模板起个名字:公司标准模板
  7. (可选)输入描述

优点

  • ✅ 团队共享,所有人都能拉取
  • ✅ 支持版本管理,模板更新方便
  • ✅ 支持 Gitee/GitHub/GitLab/私有仓库

方式二:本地文件夹

操作

  1. 右键空文件夹 → Flu: 创建新项目
  2. 选择 自定义模板...
  3. 选择 $(folder-opened) 本地文件夹
  4. 选择本地项目目录(如 /Users/you/my-template
  5. 给模板起个名字:我的本地模板
  6. (可选)输入描述

优点

  • ✅ 不需要 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/


如果这篇文章让你告别了搬砖,点个赞呗 👍