You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何合并两个Flutter项目?大型项目的替代实现方案咨询

可行方案整理

本地路径依赖

直接在主应用的pubspec.yaml中通过本地文件路径引用已有Flutter项目,修改已有项目的代码后,主应用会自动同步这些变更。

  • 前提:将已有项目的核心业务逻辑抽离为标准的Flutter Package(包含独立的pubspec.yaml),如果原项目是完整的Flutter应用,只需把可复用部分拆分出来即可。
  • 配置示例:
    dependencies:
      existing_flutter_package:
        path: ../relative/path/to/your/existing/package
    

Git子模块

把已有Flutter项目作为主应用Git仓库的子模块,既能保留两个项目独立的版本控制,又能实现代码同步:

  1. 在主应用仓库根目录执行命令添加子模块:
    git submodule add <已有项目的Git仓库地址> ./submodules/existing_project
    
  2. 同样需要将已有项目的核心代码抽为Flutter Package,然后在主应用的pubspec.yaml中通过路径引用子模块里的Package:
    dependencies:
      existing_flutter_package:
        path: ./submodules/existing_project/package_folder
    
  3. 当已有项目有更新时,在主应用中执行git submodule update --remote即可拉取最新代码同步。

Monorepo架构

使用Melos、Nx这类工具搭建Monorepo,将主应用和已有Flutter项目放在同一个仓库下统一管理:

  • 这类工具能自动处理项目间的依赖关系,修改任意项目的代码后,依赖它的主应用会自动感知变更。
  • 操作流程:
    1. 初始化Monorepo(以Melos为例):
      melos init
      
    2. 将主应用和已有项目放入Monorepo的指定目录,在主应用的pubspec.yaml中添加对已有项目Package的本地依赖。
    3. 通过melos bootstrap命令安装所有依赖,后续修改代码后无需额外操作即可同步。

内容的提问来源于stack exchange,提问作者appdev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 21:50:39