PouchDB 预加载数据库
PouchDB preload database
抱歉,这是一个愚蠢的问题,然后我淹没在一杯水中(顺便说一句,这并不罕见)。有什么方法可以使用预加载(准备使用)的 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 相比速度较慢。因此,如果我正在编写这样的应用程序并且我想要最好的预加载性能,我会:
- 使用
pouchdb-dump-cli
转储到文件
- 使用
pouchdb-load
加载到 PouchDB 中,如果确实需要,在应用程序加载时在初始加载时抛出一个微调器。
您可以在此处进行一些优化:
worker-pouch
插件适用于 Android(可惜不是 iOS),可用于避免阻塞 DOM 操作。应该使用 pouchdb-load
插件,或者你可以在 worker 内部做所有事情(最好避免 any 阻塞,而不仅仅是与 IndexedDB 相关的阻塞)。
- 为避免在初始加载期间阻塞用户,请将您的转储文件分解为一些关键数据的子集,先加载它,然后再加载其余数据。
抱歉,这是一个愚蠢的问题,然后我淹没在一杯水中(顺便说一句,这并不罕见)。有什么方法可以使用预加载(准备使用)的 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 相比速度较慢。因此,如果我正在编写这样的应用程序并且我想要最好的预加载性能,我会:
- 使用
pouchdb-dump-cli
转储到文件 - 使用
pouchdb-load
加载到 PouchDB 中,如果确实需要,在应用程序加载时在初始加载时抛出一个微调器。
您可以在此处进行一些优化:
worker-pouch
插件适用于 Android(可惜不是 iOS),可用于避免阻塞 DOM 操作。应该使用pouchdb-load
插件,或者你可以在 worker 内部做所有事情(最好避免 any 阻塞,而不仅仅是与 IndexedDB 相关的阻塞)。- 为避免在初始加载期间阻塞用户,请将您的转储文件分解为一些关键数据的子集,先加载它,然后再加载其余数据。