PouchDB relational-pouch and pouchdb-find with Angular5/Typescript

谁说我不能喝 提交于 2019-12-24 05:36:09

问题


I'm testing PouchDB with an Angular5 project. I want to use these pouchdb plugins:

pouchdb-find
relational-pouch

So I know how to import PouchDB:

import PouchDB from 'pouchdb';

I also know how to import the pouchdb-find and add to PouchDB

import PouchDBFind from 'pouchdb-find';
PouchDB.plugin(PouchDBFind);

But next I also want to add the relational-pouch plugin:

import PouchDBRelational from 'relational-pouch';
PouchDB.plugin(PouchDBRelational);

The Typescript compiler will compile this, but I'm having errors in my browser:

index-browser.es.js:2780 Uncaught Error: Invalid plugin: got "undefined", expected an object or a function
at Function.PouchDB.plugin (index-browser.es.js:2780)
at eval (pouchdb.service.ts:8)
at Object../src/app/_services/pouchdb.service.ts (main.bundle.js:29)
at __webpack_require__ (inline.bundle.js:55)
at eval (farms.service.ts:2)
at Object../src/app/_services/farms.service.ts (main.bundle.js:21)
at __webpack_require__ (inline.bundle.js:55)
at eval (app.component.ts:1)
at Object../src/app/app.component.ts (main.bundle.js:59)
at __webpack_require__ (inline.bundle.js:55)
PouchDB.plugin @ index-browser.es.js:2780
(anonymous) @ pouchdb.service.ts:8
./src/app/_services/pouchdb.service.ts @ main.bundle.js:29
__webpack_require__ @ inline.bundle.js:55
(anonymous) @ farms.service.ts:2
./src/app/_services/farms.service.ts @ main.bundle.js:21
__webpack_require__ @ inline.bundle.js:55
(anonymous) @ app.component.ts:1
./src/app/app.component.ts @ main.bundle.js:59
__webpack_require__ @ inline.bundle.js:55
(anonymous) @ app.module.ts:1
./src/app/app.module.ts @ main.bundle.js:67
__webpack_require__ @ inline.bundle.js:55
(anonymous) @ main.ts:4
./src/main.ts @ main.bundle.js:215
__webpack_require__ @ inline.bundle.js:55
0 @ main.bundle.js:223
__webpack_require__ @ inline.bundle.js:55
webpackJsonpCallback @ inline.bundle.js:26
(anonymous) @ main.bundle.js:1

I also tried this:

import PouchDB from 'pouchdb';
import PouchDBFind from 'pouchdb-find';
import PouchDBRelational from 'relational-pouch';
PouchDB.plugin(PouchDBFind , PouchDBRelational);

No errors in the browser, but a method from the relational-pouch is not found: setSchema(). So I suspect the plugin was not loaded?


回答1:


Solution by OP

import PouchDB from 'pouchdb';
import PouchDBFind from 'pouchdb-find';
PouchDB.plugin(PouchDBFind);
import * as PouchDBRelational from 'relational-pouch';
PouchDB.plugin(PouchDBRelational);


来源:https://stackoverflow.com/questions/48945764/pouchdb-relational-pouch-and-pouchdb-find-with-angular5-typescript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!