gpt4 book ai didi

cordova - PouchDB预加载数据库

转载 作者:行者123 更新时间:2023-12-02 12:16:22 25 4
gpt4 key购买 nike

抱歉,这是一个愚蠢的问题,然后我就被一杯水淹死了(顺便说一句,这并不罕见)。有没有办法设置一个带有预加载(即用型)PouchDB 数据库的 Web(最好是 cordova)应用程序?理想情况下,我想要的是在执行 db = new PouchDB('databaseName') 时准备好使用 PouchDB 数据库文件,而不必在第一次加载所有文档该应用程序已运行。

我知道有 pouchdb-replication-stream 但我需要加载转储文件,然后应用程序数据的大小将被复制(都在转储文件中,然后在PouchDB 数据库)。也没有机会进行远程加载。

干杯!!

最佳答案

编辑:您现在可以预加载 SQLite 数据库或使用 pouchdb-load; this blog post中有说明.

目前,完全预加载的唯一方法是使用 SQLite 插件,然后进行构建步骤,使用 PhantomJS 并将 SQLite 文件复制到您的应用中。

我一般不推荐 SQLite 插件,因为 1) 实现普遍不稳定,2) 与 IndexedDB/WebSQL 相比速度较慢。因此,如果我正在编写这样一个应用程序并且我想要尽可能最佳的预加载性能,我会:

  1. 使用pouchdb-dump-cli转储到文件
  2. 使用 pouchdb-load 加载到 PouchDB 中,如果确实需要,可以在应用加载时在初始加载时抛出一个旋转器。

您可以在此处进行一些优化:

  1. worker-pouch 插件适用于 Android(遗憾的是不适用于 iOS),并且可用于避免阻塞 DOM 操作。应该与pouchdb-load插件一起使用,或者您可以在worker内部执行所有操作(最好避免任何阻塞,而不仅仅是IndexedDB相关的阻塞)。<
  2. 为了避免在初始加载期间阻塞用户,请将转储文件分解为关键数据的某个子集,首先加载该子集,然后再加载其余数据。

关于cordova - PouchDB预加载数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33156523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com