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

时间:2020-05-31 22:12:52

标签: flutter project

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

如果创建两个单独的项目,则需要更新主题,则需要在两个单独的项目上对其进行更新。如何理想地处理这种情况?

2 个答案:

答案 0 :(得分:1)

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

1.在本地链接包。

这里在pubspec.yaml中添加了包文件夹的本地路径

dependencies:
  flutter:
    sdk: flutter
  custom_package_name:
    path: path/to/package

如果您是唯一从事该项目的人,这将非常有用。因为您不必发布或推送到 GitHub 以在链接到包的应用程序中反映这些更改

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

2.在远程 git repo 中对包进行内衬。

这里在pubspec.yaml中添加了远程git repo链接。

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

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

如果开发人员没有贡献,则不需要克隆 common_packages。

答案 1 :(得分:0)

我认为适当的解决方案是创建一个包含类似代码的 package ,以便您可以在两个项目中使用它。如果仅涉及图标,主题等,则应使用最喜欢的,请看一下这篇文章https://medium.com/@salvatoregiordanoo/flavoring-flutter-392aaa875f36