ionic firebase-TypeError:Object(...)不是Firebase.getToken

时间:2019-01-26 12:59:49

标签: angular firebase cordova ionic-framework

我正在按照一些教程来安装和使用Firebase,

但是我什至无法通过我必须要做的部分

this.firebase.getToken().then(token => {...},error => {...});

因为我有这个错误:

  

TypeError:Object(...)不是函数       在Firebase.getToken

模块是这样导入的:


import { AngularFirestore } from 'angularfire2/firestore';
import { Firebase } from '@ionic-native/firebase/ngx';

请注意,如果我未在导入末尾放置/ngx,则会收到提供程序错误...

我试图安装它: npm i rxjs@6 rxjs-compat@6 promise-polyfill --save

但没有任何改变

ionic info

Ionic:

   ionic (Ionic CLI)  : 4.9.0 (/.../.nvm/versions/node/v9.11.2/lib/node_modules/ionic)
   Ionic Framework    : ionic-angular 3.9.2
   @ionic/app-scripts : 3.1.8

Cordova:

   cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1)
   Cordova Platforms     : android 7.0.0, ios 4.5.5
   Cordova Plugins       : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 1.2.1, (and 21 other plugins)

System:

   Android SDK Tools : 25.1.7 (/.../Library/Android/SDK)
   ios-deploy        : 1.9.4
   ios-sim           : 5.0.13
   NodeJS            : v9.11.2 (/.../.nvm/versions/node/v9.11.2/bin/node)
   npm               : 5.6.0
   OS                : macOS Mojave
   Xcode             : Xcode 10.1 Build version 10B61

有什么主意吗?我在这里很迷路

编辑:

package.json

    "angularfire2": "^5.1.1",
    "firebase": "^5.8.1",
    "@ionic-native/firebase": "^5.0.0",


1 个答案:

答案 0 :(得分:5)

我在https://stackoverflow.com/a/54398403/6617276

处回答了类似的问题

在ionic.config.json文件中检查您的项目类型。

如果类型为“离子角” ,则安装4.x.x版本。

npm i -s @ionic-native/firebase@4.20.0

如果类型为“角度” ,则安装5.x.x-beta版本

npm i -s @ionic-native/firebase@5.0.0-beta.24

注意

仅当您使用 Angular 6

时,才在导入末尾添加ngx。
import { Firebase } from '@ionic-native/firebase/ngx';

如果未从导入的app.module.ts和app.component.ts

中删除 ngx
import { Firebase } from '@ionic-native/firebase';

参考:https://github.com/ionic-team/ionic/issues/15225#issuecomment-414074074