2017-07-18 4 views
1

Ich arbeite mit Ionic 3, Angular 4, Pouchdb, Pouchdb-finden Pouchdb funktioniert gut. Ich habe beide installiert pouchdb und pouchdb-finden über npmdb.createIndex ist keine Funktion

Schritte

npm

ionic start testapp 
npm install pouchdb 
npm install pouchdb-find 
ionic serve -l 

hier eine kurze meiner Komponente zu reproduzieren ist eine leere ionische 3 Vorlage

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']} 
    }); 
    }   
} 
mit

wenn ich laufe bekomme ich diesen Fehler:

Uncaught (in promise): TypeError: db.createIndex is not a function TypeError: db.createIndex is not a function at new HomePage (http://localhost:8101/build/main.js:57:12) at createClass (http://localhost:8101/build/vendor.js:11251:26) at createDirectiveInstance

Antwort

1

Ich hatte das gleiche Problem, weil es als ES6-Modul mit einem Standard-Export gebündelt ist.

Mit funktioniert es. Alternativ:

import findPlugin from "pouchdb-find"; 
PouchDB.plugin(findPlugin); 

Funktioniert auch :)

+0

Hallo, groß. vielen Dank. es löste es, aber verursachte einen anderen Fehler. Das ist, was ich jetzt bekomme. Laufzeitfehler Uncaught (in Versprechen): TypeError: Objekt (...) ist keine Funktion TypeError: Objekt (...) ist keine Funktion bei http: // localhost: 8100/build/vendor.js: 145934: 101 bei t.invoke –