如何使PouchDB脱机工作?

时间:2016-12-11 11:45:00

标签: pouchdb offlineapps

我不是一个高级的Web开发人员,这就是为什么我觉得我在问一个愚蠢的问题,但我找不到任何关于如何使pouchDB网站脱机工作的说明。事实上,我没有找到任何东西可能意味着它非常直接,但不知何故我的网站没有加载一旦互联网连接不可用。

在我的代码开头,我正在创建像这样的PouchDB数据库:

data = new PouchDB('data');
users = new PouchDB('local_users');
templates = new PouchDB('templates');

之后我将数据库与CouchDB数据库同步:

//Set remote databases
var remoteCouchDA = new PouchDB('myCouchDB_URL/data');
var remoteCouchTE = new PouchDB('myCouchDB_URL/templates');
var remoteCouchUS = new PouchDB('myCouchDB_URL/usersdoc', {skipSetup: true});


// Initialise a sync with the remote server
function syncDA() {
  var opts = {live: true, retry: true};
  data.sync(remoteCouchDA, opts);
};

function syncTE() {
    var opts = {live: true, retry: true};
    templates.sync(remoteCouchTE, opts);
};
function syncUS() {
      var opts = {live: true, retry: true};
      users.sync(remoteCouchUS, opts);
    };

if (remoteCouchDA) {
    syncDA();
    }

if (remoteCouchTE) {
    syncTE();
    }

if (remoteCouchUS) {
    syncUS();
    }

localDB.allDocs()获得的文件。如果有人能告诉我还需要做些什么来让网站脱机工作,那真是太好了。

1 个答案:

答案 0 :(得分:2)

PouchDB将负责在本地存储您的数据,以便离线使用,但是为了让您的网站在离线时仍然加载,您必须确保您的资产(html,javascript和css文件)也在本地缓存。为此,您可以使用Service Worker API

Service Worker非常强大,起初可能有点令人生畏,但有些库可以帮助您进行设置,例如UpUp或更复杂的用例Service Worker Precache