Firebase 网络实时数据库是否具有 PWA 的离线功能



我有一个Web项目,我在其中使用了很多firebase实时数据库,现在我想将我的应用程序转换为PWA,所以我想做两件事

  1. 当用户安装应用程序时,我想缓存数据库的某些部分
  2. 当用户离线并转到尝试从Firebase下载内容的页面时,我希望从缓存中返回此数据
  3. 当用户执行某些操作(通常是在线操作(时,我将数据保存在数据库中,我想Firebase将其保存到"缓存"中,当连接出现时 - 将其保存到数据库

看起来安卓的火力基地可以做到这一点 (ttps://firebase.google.com/docs/database/android/offline-capabilities(

但是当我阅读网络文档时 - 我不确定这是否可能 (https://firebase.google.com/docs/database/web/offline-capabilities(

Firebase 实时数据库仅针对移动 (iOS/Android( 开发提供离线功能。如果您需要离线持久性,那么您应该选择Cloud Firestore。

您将收到您在问题中指出的确切功能。每当用户读取某些文档时,这些文档都会在本地缓存,甚至可以脱机使用(完整的 CRUD 操作可用(。有 40MB 的缓存阈值,之后将删除最旧的文档。您可以更改此值,增加或减少缓存量。

要启用它:

//For mobile development, it is turned on by default
firebase.firestore().enablePersistence() 
.catch(function(err) {
if (err.code == 'failed-precondition') {
// Multiple tabs open, persistence can only be enabled
// in one tab at a a time.
// ...
} else if (err.code == 'unimplemented') {
// The current browser does not support all of the
// features required to enable persistence
// ...
}
});

我写了一篇文章(关于PWA的系列文章的一部分(,其中解释了如何使用Cloud Firestore离线持久性来克服CACHE API限制,因为它只允许缓存GET请求。

相关内容

  • 没有找到相关文章

最新更新