flutter - 如何在 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是分支名称引用。这里是主分支。当有多个开发人员时,这很有用,因此每个人所做的更改都会更新到远程 repo,并且可以轻松更新包。
如果开发人员不参与贡献,则无需克隆 common_packages。
推荐阅读
- visual-studio - 获取 find_package 以查找不同版本的 Lua
- javascript - 如何从单页应用程序中删除元素?
- python - 如何安装 keras python 3.6?
- javascript - 我想在提交后附加 1 个 div 元素(不要使用操作),然后表单的所有值都应该显示在另一个页面上(答案仅在普通 js 中)
- ruby-on-rails - 尝试让 rails 在我的 Mac 上工作时遇到错误
- spring-boot - 版本 spring boot、spring cloud、ribbon 不工作
- sql - 用于检查新旧表值的 Oracle sql 触发器
- bash - Bash:如何检查文件的第一个字符是否为{
- kotlin - Android Kotlin Safe-Args 导航回 Fragment 而无需再次传递参数
- microsoft-graph-api - 无法从 OneNoteAPI 获取图像内容