【问题标题】:How to make PouchDB work offline?如何让 PouchDB 离线工作?
【发布时间】:2016-12-15 18:13:40
【问题描述】:

我不是高级 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() 获得的文件。如果有人能告诉我还需要做什么才能使网站离线工作,那就太好了。

【问题讨论】:

    标签: pouchdb offlineapps


    【解决方案1】:

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

    Service Worker 非常强大,一开始可能会让人望而生畏,但有一些库可以帮助您进行设置,例如 UpUp 或更复杂的用例 Service Worker Precache

    【讨论】:

    • 谢谢,帕特里夏。我对此有点短心,但这完全有道理^^
    猜你喜欢
    • 2020-11-16
    • 2015-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-17
    • 1970-01-01
    相关资源
    最近更新 更多