离子Firebase-TypeError:Object(...)不是Firebase.getToken上的函数

F4K*_*4Ke 2 cordova firebase ionic-framework angular

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

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

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

因为我有这个错误:

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

该模块是这样导入的:


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

Run Code Online (Sandbox Code Playgroud)

请注意,如果我不放在/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
Run Code Online (Sandbox Code Playgroud)

任何的想法 ?我在这里很迷路

编辑:

package.json

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


Run Code Online (Sandbox Code Playgroud)

Rat*_*a S 8

我已经在这里回答了类似的问题/sf/answers/3807888241/

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

如果类型为“ ionic-angular”,则安装4.xx版本。

npm i -s @ionic-native/firebase@4.20.0
Run Code Online (Sandbox Code Playgroud)

如果类型为“ angular”,则安装5.xx-beta版本

npm i -s @ionic-native/firebase@5.0.0-beta.24
Run Code Online (Sandbox Code Playgroud)

注意事项

仅当您使用Angular 6时,才在导入末尾添加ngx

import { Firebase } from '@ionic-native/firebase/ngx';
Run Code Online (Sandbox Code Playgroud)

如果没有,从app.module.ts和app.component.ts中的导入中删除ngx

import { Firebase } from '@ionic-native/firebase';
Run Code Online (Sandbox Code Playgroud)

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