2017-07-18 269 views
1

我正在使用Ionic 3,Angular 4,Pouchdb,Pouchdb-find Pouchdb正常工作。 我已經安裝了通過NPM都pouchdb和pouchdb找到的db.createIndex不是函數

重現步驟

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']} 
    }); 
    }   
} 
我的組件的簡要

當我運行我得到這個錯誤:

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

回答

1

我有同樣的問題,這是因爲它被捆綁成一個默認導出的ES6模塊。

PouchDB.plugin(require('pouchdb-find').default);它的工作原理。 或者:

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

而且工程:)

+0

嗨,太好了。非常感謝。它解決了它,但又造成了另一個錯誤這是我現在得到的。 (Error): 運行時錯誤 Uncaught(in promise):TypeError:Object(...)不是函數TypeError:Object(...)不是http:// localhost:8100/build/vendor.js中的函數: 145934:101在t.invoke –