Firebase导入未在构造函数中初始化
我正在处理离子fcm推送通知。我已经进口了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
从'@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-我们还没有尝试过这个方法,也没有给出任何答案。需要一些时间来尝试一下。当然,我会告诉你的。谢谢,没问题。