pouchdb documentation表示pouchdb-adapter-localstorage插件是实验性的。但是,它也说它通过了所有的CI测试。所以,我不确定这是我的系统问题还是插件问题,但是当我向对象{ adapter: localstorage }
初始化添加new PouchDB('mydb', opts)
时,问题只会发生 。 PouchDB似乎既无法从Sync Gateway检索预先存在的文档,也无法将其创建的新文档保存到Sync Gateway,但预先存在的文档确实存在,并且Sync Gateway已正确配置以接收来自客户端的更改。
这是我的代码:
var auth_url = 'http://user:password@localhost:4984/mydb'
var local_options = {
adapter: 'localstorage'
}
var remote_options = {
ajax: {
cache: false,
timeout: 12000,
crossDomain: true
},
adapter: 'localstorage',
skip_setup: true
}
var sync_options = {
live: true,
retry: false
}
var local_db = new PouchDB('mydb', local_options)
var remote_db = new PouchDB(auth_url, remote_options)
var db_sync = PouchDB.sync('mydb', auth_url, sync_options)
要重复,当我省略adapter: 'localstorage'
时,同步按预期工作,并且控制台中没有抛出任何错误,因此我知道正在添加适配器。它似乎也没有问题存储和检索它在本地进行的更改,但它既没有拉动也没有将文档从远程推送到远程。因此,我倾向于相信我的本地存储配置未正确设置或插件不支持同步。
有什么想法吗?
编辑:localstorage可能失败,因为此功能可能不是available on Chrome。