别再复制旧 Flutter 工程了,真正拖慢你的不是业务代码

很多 Flutter 新项目,第一天根本不是在写业务。

而是在做一场旧工程遗产清理:

  • 复制上一份项目
  • 删掉旧业务页面
  • 改项目名和包名
  • pubspec.yaml
  • 清理路由、资源、环境变量
  • 查还有没有旧项目名字漏在某个角落

你以为复制旧工程是在省时间。

但很多时候,它是在把旧项目的历史包袱一起复制过来。

新项目最不该浪费的,不是那几分钟打命令的时间。

而是那种"我还没开始写业务,就已经在考古"的耐心。

真正拖慢你的,是新项目第一天的低价值返工

复制旧工程最麻烦的地方,不是复制。

是复制之后那串连锁反应:

  • 你不知道哪些文件是模板,哪些文件是历史债
  • 你删掉一个页面,又牵出一段路由
  • 你改了包名,还要确认 Android、iOS、环境配置有没有漏
  • 你保留了网络层,却不确定这份网络层适不适合这个新项目
  • 你想保持团队规范,却又只能靠记忆手动对齐

这不是难。

这是低价值返工。

而且它每开一个新项目都会回来一次。

Flu CLI 接走的是"搭架子"这段脏活

Flu CLI 的创建项目功能,不再只是"三套模板选一个"。

它将新项目起步拆解为多维度的配置矩阵,你可以像搭积木一样自由勾选组合:

重点不是"点一下创建按钮"。

重点是:新项目从一开始就知道自己是什么结构、用什么规则、后面怎么继续生成。

如果你不想研究配置,先选官方推荐包

很多人第一次用创建器,最怕的是:

"选项这么多,我是不是又要学一套东西?"

所以 Flu CLI 也提供了官方推荐配置包。

你可以先从这几类起步:

先跑通,再细调。

比一上来复制旧工程稳得多。

3 分钟开跑:从 VSCode 右键开始

前置条件

  • 已安装 Flutter
  • 已安装 Flu CLI VSCode 插件,或已安装 flu-cli
  • 准备一个空目录
  • 已想好项目名和包名

操作步骤

  1. 在 VSCode Explorer 中右键目标目录
  2. 选择 Flu: 新建项目
  3. 选择官方推荐配置包,或进入可视化配置器
  4. 确认项目结构、能力、平台和 SDK
  5. 点击创建,等待自动 flutter pub get 或对应 SDK 初始化完成
  6. 按成功弹窗提示打开项目并运行

选项 B:命令行创建(给终端原教旨主义者)

如果你更习惯在终端里操作,Flu CLI 同样支持完整的交互式与参数化创建:

bash 复制代码
# 开启交互式创建向导
flu new my_new_app
# 或者直接指定预设,一步到位
flu new my_new_app --composition-profile pure --no-network

两条路最终生成完全一致的项目骨架。用 VSCode 还是用终端,全看你的习惯。

跑完后,你应该得到的不只是一个空 Flutter 项目

一个合格的新项目起点,至少应该让你看见这些东西:

这些东西的价值不是"文件多"。

而是跑完后,它不仅为你准备好了这些文件,更核心的是在根目录生成了 .flu-cli.json 规则文件。

它定义了项目的开发规范和生成模板(比如使用 MVVM 架构还是 Lite 结构;使用 default 状态管理还是 Provider)。

有了这个"单事实源",团队中无论是谁,后面在项目里右键生成代码时,都会遵循这套规范。

创建成功不算赢,真正能跑才算赢

这次创建项目的验收口径很明确:

  • flutter pub get 能过
  • flutter analyze 没有 error
  • 至少一个平台能 run 进首页
  • 创建后继续 flu add page 或 VSCode 右键生成 Page,再次 analyze 没问题
  • CLI、QuickPick、Webview 同配置产物一致

也就是说,Flu CLI 不是只追求"弹一个创建成功"。

它追求的是:

新项目真的能跑,真的能改,真的能继续生成。


更关键的是,它能接住第二天的开发

很多脚手架最大的问题是:第一天看起来很完整,第二天一生成页面,代码结构就开始散架。

Flu CLI 会把 .flu-cli.json 写成后续生成的规则入口。有了这套机制,你只需在目录树上右键选择 Flu: 生成文件

或者在命令行执行:

bash 复制代码
flu add page test_page

它就会瞬间并排生成好高度对齐架构契约的 test_page.darttest_viewmodel.dart

如果你关心鸿蒙和 FVM,这次也值得单独看

在本次 Flu CLI V2 的创建项目功能里,Flutter 鸿蒙平台和 FVM/Harmony FVM 是一个很重要的亮点。

但它不适合和这篇全部塞在一起讲。

这篇讲的是:新 Flutter 项目别再从复制旧工程开始。

下一篇单独讲:

Flutter 鸿蒙第一步,别再卡在 SDK 和 FVM 环境里。

它会更具体地讲平台选择、FVM 工作区、.fvm/flutter_sdk.fvm/versions/<version>、VSCode 环境提示,以及哪些事情 Flu CLI 会接走,哪些事情仍然需要你的本机 SDK 保持健康。

最后,别把新项目开成旧项目的遗产清理现场

复制旧工程当然能用。

但它不是一个舒服的开始。

当一个工具已经能把项目结构、平台、能力、资源和后续生成规则放进同一条创建链路里,你就没必要每次都从旧工程里刨一个新工程出来。

新项目第一天,本来就应该从"要做什么"开始。

而不是从"这个旧文件还能不能删"开始。


🛠️ 觉得每次新建项目都像考古?

把机械劳动交给工具,把时间留给生活。

  • 🛒 VSCode 插件 :在市场搜索 Flu CLI 一键安装,开启右键极速建项目向导。

  • 📖 官方文档huozhiye.cn/flu-cli

  • 📦 源码仓库Gitee 源码 (如果对你有帮助,欢迎点个 Star 支持一下!)

相关推荐
风华圆舞1 天前
在 Flutter 鸿蒙项目里接入语音识别的完整思路
flutter·语音识别·harmonyos
风华圆舞1 天前
鸿蒙 + Flutter 下如何让 HarmonyOS 能力真正服务于 AI 体验
人工智能·flutter·harmonyos
BreezeDove1 天前
【Android】Flutter3.35项目启动超时问题
android·flutter
风华圆舞1 天前
鸿蒙 MICROPHONE 权限在 Flutter 项目里怎么处理
flutter·华为·harmonyos
l1o3v1e4ding1 天前
windows安装Claude Code,并接入Deepseek-v4模型 ,提供离线安装包
git·npm·node.js·claude code·cc-switchcc
愚者Pro2 天前
切换本地 Flutter SDK 版本
flutter
风华圆舞2 天前
鸿蒙 + Flutter 下 AI 助手为什么要支持流式输出
人工智能·flutter·harmonyos
Penfy_Z2 天前
【Python LLM 调用踩坑】Connection error 终极解决方案!npm 代理导致阿里云通义千问接口连接失败
开发语言·python·npm
风华圆舞2 天前
鸿蒙 + Flutter 下 AI 页面的状态协同设计
人工智能·flutter·harmonyos