require не определено при использовании фильтрованной репликации PouchDB

У меня настроена двунаправленная репликация между PouchDB и CouchDB, и я хочу отфильтровать репликацию, чтобы только соответствующие документы попадали в мой локальный пакет.

pouchDB('medic').sync('http://localhost:5984/medic', {
  live: true,
  retry: true,
  filter: 'medic/doc_by_place'
});

Когда я выполняю синхронизацию, я получаю Uncaught ReferenceError: require is not defined из анонимной функции ниже.

(function () { return function(){return require("lib/app")["filters"]["doc_by_place"].apply(this, arguments);} })()

Откуда это берется и почему require не определено?


person Gareth Bowen    schedule 18.06.2015    source источник


Ответы (1)


Эта ошибка исходит со стороны в sync, а не со стороны от. Фильтры на стороне сервера имеют смысл только для вызовов from. Чтобы отфильтровать репликацию в, выполните специальную функцию фильтрации.

В итоге я разделил репликацию на две части, как показано ниже.

pouchDB('medic')
  .replicate.from('http://localhost:5984/medic', {
    live: true,
    retry: true,
    filter: 'medic/doc_by_place'
  });

pouchDB('medic')
  .replicate.to('http://localhost:5984/medic', {
    live: true,
    retry: true
  });
person Gareth Bowen    schedule 18.06.2015