热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:Firebase导入未在构造函数离子原生中初始化

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Firebase导入未在构造函数离子原生中初始化相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Firebase导入未在构造函数离子原生中初始化相关的知识,希望对你有一定的参考价值。



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

import { Firebase } from '@ionic-native/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


我关注this article。

我安装了npm i @ ionic-native / firebase和npm i @ ionic-native / fcm包仍然没有得到它。有关更多信息,请参见截图

enter image description here

更新:请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项目,并且您使用的是最新版本的离子V4。



第一解决方案


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

喜欢:-

从'@ ionic-native / firebase / ngx'导入{Firebase}; REF:https://ionicframework.com/docs/native/firebase



二解决方案


首先删除现有的插件离子cordova插件删除cordova-plugin-firebase

重新添加

离子cordova插件添加cordova-plugin-firebase

npm install --save @ ionic-native / firebase @ 4

请记住遵循doc v3进一步实施

https://ionicframework.com/docs/v3/native/firebase/


另一答案

由于您使用的Angular版本大于Angular 6,因此您需要在导入结束时包含/ngx。即import { Firebase } from '@ionic-native/firebase/ngx';


另一答案

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

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

如果类型为“ionic-angular”(通常为Ionic 3),则安装4.x.x版本。

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

如果类型为“angular”(通常为Ionic 4),则安装最新版本

npm i -s @ionic-native/firebase

注意:

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

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

如果不从导入中删除ngx

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

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



推荐阅读
  • Activity跳转动画 无缝衔接
    Activity跳转动画 无缝衔接 ... [详细]
  • Linux环境下的PHP7安装与配置指南
    本文详细介绍了如何在Linux操作系统中安装和配置PHP7,包括检查当前PHP版本、升级PHP以及配置MySQL支持等步骤,适合后端开发者参考。 ... [详细]
  • 本文探讨了Web API 2中特性的路由机制,特别是如何利用它来构建RESTful风格的URI。文章不仅介绍了基本的特性路由使用方法,还详细说明了如何通过特性路由进行API版本控制、HTTP方法的指定、路由前缀的应用以及路由约束的设置。 ... [详细]
  • 本文介绍了如何在React Native应用中获取组件的实际宽度和高度,并详细说明了屏幕单位(如dp)与像素(px)之间的转换方法。 ... [详细]
  • 深入理解Java反射机制
    本文将详细介绍Java反射的基础知识,包括如何获取Class对象、反射的基本过程、构造器、字段和方法的反射操作,以及内省机制的应用。同时,通过实例代码加深对反射的理解,并探讨其在实际开发中的应用。 ... [详细]
  • 本文通过对OkHttp源码的详细解读,旨在帮助读者理解其核心执行流程,特别是同步与异步请求的处理方式。文中不仅涵盖了基本的使用示例,还深入探讨了OkHttp的核心功能——拦截器链的工作原理。 ... [详细]
  • 本文旨在探讨Linux系统中两种重要的进程间通信(IPC)机制——System V和POSIX的标准及其特性,为开发者提供深入的理解。 ... [详细]
  • 使用URLHttpConnection获取并展示图片至ImageView的方法
    本文介绍如何通过URLHttpConnection方式从网络加载图片,并将其显示在Android应用的ImageView组件上。包括布局文件和Java代码的具体实现。 ... [详细]
  • 获取年月日,之前的日期不能选择日历cCalendar.getInstance();获取系统的工具类【可以获取时间】DatePickerDialogdate ... [详细]
  • 深入解析 Android 中的 ActivityGroup 实现
    本文详细探讨了如何在 Android 应用中使用 ActivityGroup 来实现类似微博客户端主界面的效果,并分析了 TabActivity 的局限性,推荐使用更为灵活的 ActivityGroup 方案。 ... [详细]
  • 1.选择一个翻译页面,我选择的是有道词典(http:dict.youdao.com)2.随便输入一个英语单词进行翻译,然后查看源文件,找到 ... [详细]
  • django项目中使用手机号登录
    本文使用聚合数据的短信接口,需要先获取到申请接口的appkey和模板id项目目录下创建ubtils文件夹,定义返回随机验证码和调取短信接口的函数function.py文件se ... [详细]
  • 正在学习操作系统开发,遇到一个内核在GRUB Legacy(0.97)中无法成功引导的问题。具体表现为输入内核命令后显示错误信息,尝试引导时GRUB挂起。 ... [详细]
  • C#爬虫Fiddler插件开发自动生成代码
    哈喽^_^一般我们在编写网页爬虫的时候经常会使用到Fiddler这个工具来分析http包,而且通常并不是分析一个包就够了的,所以为了把更多的时间放在分析http包上,自动化生成 ... [详细]
  • PHP 5.4.8 编译安装指南
    本文详细介绍了如何在Linux环境下编译安装PHP 5.4.8,并配置为FastCGI模式运行。包括所需依赖包的安装、源代码下载、编译配置及启动服务等步骤。 ... [详细]
author-avatar
mobiledu2502855913
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有