Firebase导入未在构造函数中初始化

Firebase导入未在构造函数中初始化,firebase,ionic-framework,npm,ionic3,ionic-native,Firebase,Ionic Framework,Npm,Ionic3,Ionic Native,我正在处理离子fcm推送通知。我已经进口了 从'@ionic native/Firebase'导入{Firebase}但我无法在构造函数中初始化Firebase。这是我的密码 import { Injectable } from '@angular/core'; import { Firebase } from '@ionic-native/firebase'; import { Platform } from 'ionic-angular'; import {HttpClient, HttpH

我正在处理离子fcm推送通知。我已经进口了

从'@ionic native/Firebase'导入{Firebase}但我无法在构造函数中初始化
Firebase
。这是我的密码

import { Injectable } from '@angular/core';
import { Firebase } from '@ionic-native/firebase';
import { Platform } from 'ionic-angular';
import {HttpClient, HttpHeaders} from '@angular/common/http';

@Injectable()
export class FcmProvider {

  constructor(private platform: Platform, 
              public firebaseNative:Firebase,
              public http: HttpClient) {
    console.log('Hello FcmProvider Provider');
  }

  // Get permission from the user
  async getToken() {
    let token;

    if (this.platform.is('android')) {
      token = await this.firebaseNative.getToken()
    }      
  }
  }
}
我犯了一个错误

constructor(private platform: Platform, 
              public firebaseNative:Firebase,
它在说

找不到名称Firebase

我跟在后面

我已经安装了npm I@ionic native/firebase和npm I@ionic native/fcm软件包,但仍然没有安装。有关更多信息,请参见屏幕截图:

更新:
Package.Json

  "private": true,
  "dependencies": {
    "@angular/common": "^7.2.2",
    "@angular/core": "^7.2.2",
    "@angular/forms": "^7.2.2",
    "@angular/http": "^7.2.2",
    "@angular/platform-browser": "^7.2.2",
    "@angular/platform-browser-dynamic": "^7.2.2",
    "@angular/router": "^7.2.2",
    "@ionic-native/core": "^5.0.0",
    "@ionic-native/fcm": "^5.1.0",
    "@ionic-native/firebase": "^5.1.0",
    "@ionic-native/splash-screen": "^5.0.0",
    "@ionic-native/status-bar": "^5.0.0",
    "@ionic/angular": "^4.0.0",
    "angularfire2": "^5.1.1",
    "cordova-plugin-firebase": "2.0.5",
    "core-js": "^2.5.4",
    "firebase": "^5.8.3",
    "ionic-angular": "^3.1.0",
    "nvm-win": "^0.2.4",
    "reinstall": "^2.0.0",
    "rxjs": "~6.3.3",
    "zone.js": "~0.8.29"
  },
}

如何解决此问题?

可能是您使用的是爱奥尼亚版本3项目,而您使用的是 最新版本的ionic V4

第一种解决方案

如v4文档中所述,在导入路径的最后一个位置使用“ngx”

比如:-

从'@ionic native/Firebase/ngx'导入{Firebase}; 参考:

第二种解决方案

首先删除现有的插件 ionic cordova插件移除cordova插件firebase

重新添加

爱奥尼亚cordova插件添加cordova插件firebase

npm安装--保存@ionic native/firebase@4

请记住,为了进一步实施,请遵循文档v3


由于您使用的角度版本大于角度6,因此需要在导入结束时包含
/ngx
。即,
从'@ionic native/Firebase/ngx'导入{Firebase}

如果您为您的项目类型安装了错误的本机插件版本,或者您没有在导入结束时附加ngx,则会出现错误

检查ionic.config.json中的项目类型

如果类型为“离子角度”(通常为离子3),则安装4.x.x版本

npm i -s @ionic-native/firebase@4
如果类型为“角度”(通常为4),则安装最新版本

npm i -s @ionic-native/firebase
注:

仅当使用Angular 6时,才在导入结束时添加ngx

import { Firebase } from '@ionic-native/firebase/ngx';
如果没有,请从导入中删除ngx

import { Firebase } from '@ionic-native/firebase'

参考

请共享您的package.json文件或软件包的版本。您尝试过这个吗<代码>从“firebase/app”导入*作为firebase@Mustafalkhandwala-我们还没有尝试过这个方法,也没有给出任何答案。需要一些时间来尝试一下。当然,我会告诉你的。谢谢,没问题。