[英]How can i make price range filter in flutter and firebase firestore
[英]How can I separate my flutter firebase/firestore implementation and providers to a independent package or library?
目前,我正在使用 Provider 和 Firebase 开发 flutter web 应用程序。我想使用相同的数据库和数据提供程序开发其他应用程序(例如和管理控制台)。
我的应用目前有以下文件夹
my_app
- models
- providers
- services (firebase/firestore crud)
- pages
- utils
- widgets
我希望将模型、提供者和服务作为本地 package 或图书馆。 就像是:
my_lib
- models
- providers
- services
my_app
- pages
- utils
- widgets
my_other_app
- pages
- utils
- widgets
首先,我不知道如何创建本地库,以及如何使它成为 my_apps 的依赖项。
其次,由于我将在 my_lib 上使用 Firebase 和 Firestorage,我不知道 main 中初始化的实例如何被 package 使用。是否足以在 my_lib 上启动全局变量?
在您的项目文件夹中,您可以创建一个文件夹 packages,然后using
flutter create --template=package my_package 创建您的“包”,
让你的应用程序可以依赖它在 pubspec.yaml
my_package:
path: ../packages/my_package
在这种情况下,您将拥有
- my_project
-lib
-packages
- my_package
当它只是你的应用程序时,这很有效,具体取决于包。
如果你需要在不同的项目中访问你的包,你可以使用 github/gitlab 来托管你的包。
假设你有两个需要共享私有 package、my_app 和 my_admin 的 repos,你可以创建一个新的 repo my_packages 并将你的包放在 IE 中
- my_packages
- package1
- package2
在您的应用程序中,您现在可以依赖使用 git 的软件包,例如
package1:
git:
url: git@github.com:username/my_packges.git
ref: main // branch
path: ./package1 //package name
package2:
git:
url: git@github.com:username/my_packges.git
ref: main // branch
path: ./package2 //package name
对于 github,您需要ssh 密钥
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.