对不起,这是一个愚蠢的问题,然后我淹死在一杯水(不是罕见的BTW)。有没有办法使用预装(即用型)PouchDB数据库设置Web(理想情况下为cordova)应用程序?理想情况下,我想要的是在执行db = new PouchDB('databaseName')
时准备好使用PouchDB数据库文件,而无需在应用程序运行的第一次时加载所有文档。
我知道有pouchdb-replication-stream
但我需要加载转储文件,然后应用程序数据的大小将被复制(在转储文件和PouchDB数据库中)。也没有远程加载的机会。
干杯!!
答案 0 :(得分:3)
编辑:您现在可以预加载SQLite数据库或使用pouchdb-load; this blog post中有说明。
目前完全预加载的唯一方法是使用SQLite插件,然后进行构建步骤,使用PhantomJS并将SQLite文件复制到应用程序中。
由于1)执行的一般不稳定性和2)与IndexedDB / WebSQL相比速度慢,我通常不推荐使用SQLite插件。因此,如果我正在编写这样的应用程序,并且我希望获得最佳的预加载性能,那么我会:
pouchdb-dump-cli
转储到文件pouchdb-load
加载到PouchDB中,如果您确实需要,在应用程序加载时,在初始加载时抛出微调器。您可以在此处进行一些优化:
worker-pouch
插件适用于Android(不是iOS),可用于避免阻止DOM操作。应该使用pouchdb-load
插件,或者您可以在工作者内部执行所有操作(最好避免任何阻止,而不仅仅是与IndexedDB相关的阻止)。