Как заставить PouchDB работать в автономном режиме?

Я не продвинутый веб-разработчик, поэтому мне кажется, что я задаю глупый вопрос, но я не смог найти никаких инструкций о том, как заставить веб-сайт 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(). Было бы здорово, если бы кто-нибудь сказал мне, что еще мне нужно сделать, чтобы сайт работал в автономном режиме.


person TotoSchillaci    schedule 11.12.2016    source источник


Ответы (1)


PouchDB позаботится о локальном хранении ваших данных, чтобы они были доступны в автономном режиме, но чтобы ваш веб-сайт по-прежнему загружался в автономном режиме, вы должны убедиться, что ваши ресурсы (файлы html, javascript и css) также кэшируются локально. Для этого вы можете использовать Service Worker API.

Service Worker довольно мощный и поначалу может показаться немного пугающим, но есть библиотеки, которые могут помочь вам с настройкой, например UpUp или для более сложных случаев использования Precache Service Worker.

person Patricia Garcia    schedule 15.12.2016
comment
Спасибо, Патрисия. Я был немного недальновиден с этим, но это имеет смысл ^^ - person TotoSchillaci; 23.12.2016