我正在使用Ionic 3,Angular 4,Pouchdb,Pouchdb-find Pouchdb工作正常。 我已经通过npm
安装了pouchdb和pouchdb-find重现的步骤
NPM
ionic start testapp
npm install pouchdb
npm install pouchdb-find
ionic serve -l
这里是使用空白离子3模板的组件简介
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
import PouchDB from 'pouchdb';
declare var require: any;
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
constructor(public navCtrl: NavController) {
PouchDB.plugin(require('pouchdb-find'));
var db = new PouchDB('pillsalarm3');
db.createIndex({
index: {fields: ['type']}
});
}
}
当我跑步时,我收到此错误:
未捕获(在promise中):TypeError:db.createIndex不是函数TypeError:db.createIndex不是createClass(http://localhost:8101/build/main.js:57:12)at new HomePage(http://localhost:8101/build/vendor.js:11251:26)处的函数createDirectiveInstance
答案 0 :(得分:4)
我遇到了同样的问题,因为它被捆绑为带有默认导出的ES6模块。
使用PouchDB.plugin(require('pouchdb-find').default);
可行。
或者:
import findPlugin from "pouchdb-find";
PouchDB.plugin(findPlugin);
也有效:)