如何在 Flutter 中理想地在同一个项目下创建多个应用程序?

How to ideally create multiple apps under same project in Flutter?

我正在从事一个需要管理应用程序和客户应用程序的项目。这两个应用程序都有很多共同点,例如主题、图像、字体、小部件、包等。那么理想的方法是什么?

如果我创建两个单独的项目,如果有更新主题的需求,我需要在两个单独的项目上更新。如何处理比较理想?

我认为合适的解决方案是创建一个包含类似代码的,以便您可以在两个项目中使用它,如果它只是关于图标、主题等。 ,那你应该用Flavor,看看这篇文章https://medium.com/@salvatoregiordanoo/flavoring-flutter-392aaa875f36

我想出的最好方法是使用一个包。创建一个 flutter 包,包中包含常用的小部件、存储库、函数等。然后 link 包到应用程序。这可以通过两种主要方式完成。

1.正在本地链接包。

这里在pubspec.yaml

中添加了包文件夹的本地路径
dependencies:
  flutter:
    sdk: flutter
  custom_package_name:
    path: path/to/package

如果您是唯一一个参与该项目的人,这将非常有帮助。因为您不必将其发布或推送到 GitHub 即可反映 link 到程序包

的应用程序中的这些更改

建议使用包的相对路径,因为如果多个队友加入项目,不同系统的绝对路径可能不同,导致冲突git。新手开发者必须克隆包和应用程序项目,并将包安排在 pubspec.yaml.

中提到的相对文件路径中

2。在远程 git 仓库中衬里包。

此处将远程 git 存储库 link 添加到 pubspec.yaml。

dependencies:
  flutter:
    sdk: flutter
  common_package:
    git:
      url: https://github.com/path/to/common_package.git
      ref: master

ref 是分支名称引用。这是主分支。 这在有多个开发人员时很有用,这样每个人所做的更改都会更新到远程仓库,并且可以轻松更新包。

开发人员不需要克隆 common_packages 如果他们没有做出贡献。