Firebase Local Emulator Suite详解

在这里插入图片描述

文章目录

  • Firebase Local Emulator Suite 组件
  • 安装和使用步骤
    • 1. 安装 Firebase CLI
    • 2. 初始化 Firebase 项目
    • 3. 配置模拟器
    • 4. 启动模拟器
    • 5. 配置应用程序使用本地模拟器
  • 常见用途

Firebase Local Emulator Suite 是一组本地服务,可以模拟 Firebase 平台的在线服务,帮助开发者在本地环境中开发和测试应用程序,而不必依赖实时的 Firebase 项目。以下是关于 Firebase Local Emulator Suite 的详细介绍及其使用方法。

Firebase Local Emulator Suite 组件

  1. Authentication Emulator:模拟 Firebase Authentication,用于测试用户身份验证。
  2. Firestore Emulator:模拟 Cloud Firestore 数据库。
  3. Realtime Database Emulator:模拟 Firebase Realtime Database。
  4. Storage Emulator:模拟 Firebase Storage。
  5. Hosting Emulator:模拟 Firebase Hosting 环境。
  6. Functions Emulator:模拟 Cloud Functions for Firebase。
  7. Pub/Sub Emulator:模拟 Google Cloud Pub/Sub。

安装和使用步骤

1. 安装 Firebase CLI

首先确保安装了 Firebase CLI。如果尚未安装,请运行以下命令:

npm install -g firebase-tools

2. 初始化 Firebase 项目

在项目根目录下运行以下命令:

firebase init

选择要初始化的 Firebase 功能,并确保选择 “Emulators” 以启用本地模拟器。

3. 配置模拟器

在初始化过程中,选择你要使用的模拟器,例如 Firestore、Functions 等。初始化完成后,Firebase 会生成一个 firebase.json 配置文件,其中包含模拟器的配置。

4. 启动模拟器

在项目根目录下运行以下命令以启动所有配置的模拟器:

firebase emulators:start

你将看到类似如下的输出:

✔  All emulators ready! It is now safe to connect your app.┌────────────────┬────────────────────────────────┐
│ Emulator       │ Host:Port                      │
├────────────────┼────────────────────────────────┤
│ Authentication │ localhost:9099                 │
│ Firestore      │ localhost:8080                 │
│ Functions      │ localhost:5001                 │
│ Hosting        │ localhost:5000                 │
│ Pub/Sub        │ localhost:8085                 │
│ Storage        │ localhost:9199                 │
└────────────────┴────────────────────────────────┘┌────────────────┬────────────────────────────────┐
│ View Emulator  │ http://localhost:4000          │
└────────────────┴────────────────────────────────┘

这些是本地模拟器的地址和端口,可以在浏览器中打开 http://localhost:4000 查看模拟器套件的控制面板。

5. 配置应用程序使用本地模拟器

你需要将你的应用程序配置为使用本地模拟器。例如,使用 Firebase SDK 时,可以如下配置 Firestore 和 Authentication:

import firebase from 'firebase/app';
import 'firebase/firestore';
import 'firebase/auth';// 初始化 Firebase
const firebaseConfig = {apiKey: "YOUR_API_KEY",authDomain: "YOUR_PROJECT_ID.firebaseapp.com",projectId: "YOUR_PROJECT_ID",storageBucket: "YOUR_PROJECT_ID.appspot.com",messagingSenderId: "YOUR_MESSAGING_SENDER_ID",appId: "YOUR_APP_ID"
};firebase.initializeApp(firebaseConfig);// 使用本地模拟器
if (window.location.hostname === 'localhost') {firebase.firestore().useEmulator('localhost', 8080);firebase.auth().useEmulator('http://localhost:9099');
}

常见用途

  1. 开发和测试:在本地开发和测试 Firebase 应用程序,无需每次更改都部署到云端。
  2. 集成测试:使用本地模拟器进行端到端集成测试,确保所有组件正常工作。
  3. 离线开发:即使没有网络连接,也能继续开发和测试应用程序。

结束语
Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。我将学习和深入研究Flutter的方方面面。从基础知识到高级技巧,从UI设计到性能优化,欢饮关注一起讨论学习,共同进入Flutter的精彩世界!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/20633.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每天写两道(五)合并两个有序链表、最长回文子串

21.合并两个有序链表 . - 力扣(LeetCode) 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4] (1)迭代法…

小白教你搭建测试环境(docker部署版)

如何使用docker创建多数据库端口(云服务器版) 背景: 需要搭建一个测试环境,同时还需要不同的端口映射mysql端口。那么我采用的docker拉取mysql镜像,通过宿主机和docker容器端口映射完成。 准备一台云服务器服务器安装…

如何跨渠道分析销售数据 - 6年软件销售经验小结

如何跨渠道分析销售数据 - 6年软件销售经验小结(1) 【前言】 在我过去6年销售工作生涯中,从第一年成为公司销冠后,我当时的确自满的一段时间,认为自己很了不起。但是第一年的销售业绩并没有拿到提成,最终…

初识C++ · 模拟实现list

目录 前言 1 push_back pop_back 2 迭代器类 2.1 ! 2.2 -- 2.3 * 3 Print_List 4 有关自定义类型 5 有关const迭代器 6 拷贝构造 赋值 析构 Insert erase 前言 有了string,vector的基础,我们模拟实现list还是比较容易的,这里同…

Pandas 使用 concat 数据合并你学会了吗?

1. 使用pd.concat()级联 pandas使用pd.concat函数,与np.concatenate函数类似 # 导包import numpy as npimport pandas as pd​# 为方便讲解,我们首先定义一个生成DataFrame的函数def make_df(indexs,columns): data [[str(j)str(i) for j in colum…

PWN-栈迁移

栈迁移 题目:BUUCTF在线评测 (buuoj.cn) 知识点:栈迁移 使用情况:题目中有栈溢出,但是 栈溢出的范围 有限,导致构造的ROP链不能完全写入到栈中,此时需要进行栈迁移,将栈迁移到能接受更多数据的…

go语言基于Gin集成后台管理系统开发定时任务管理cron/v3好用又好看

系统目前是支持两种定时类型,一种是函数类型,一种是接口类型,来支持多样的业务;时间周期可视化选择,方便设定执行周期。框架UI漂亮,添加管理定时任务设置简单,客户都可以做自己调整执行时间周期…

win10环境下nodejs安装过程

打开 https://nodejs.org/en/官网下载node.js 2.下载完成后的安装文件为node-v16.16.0-x64.msi,双击进行安装即可。 3.一直默认安装,记得可以更改安装路径 4.其他不用打勾,一直next,安装完成即可。 5.安装完成后,wi…

集成建筑5G商城为建筑行业开拓新方向

集成建筑5G商城为建筑行业开拓新方向 建筑业在我国有着悠久的发展历史,近年来,伴随着我国经济的快速增长、城镇化步伐加快,我国房地产、建筑业持续增长,建筑业显现出巨大的发展潜力。建筑行业近年来始终保持较高的增长速度。根据…

论文作图之高压缩比导出PDF

笔者使用Adobe Illustrator 2023创建可编辑pdf图,按照默认的导出设置保存pdf文件时,得到的图存储很大。为了解决存储过大且还保留一定编辑功能的问题,作者实践出了一种导出pdf的设置方法。 首先在AI中点击文件->存储为,点击保…

纯Java实现Google地图的KMZ和KML文件的解析

目录 前言 一、关于KMZ和KML 1、KMZ是什么 2、KML是什么 二、Java解析实例 1、POM.xml引用 2、KML 基类定义 3、空间对象的定义 4、Kml解析工具类 三、KML文件的解析 1、KML解析测试 2、KMZ解析测试 四、总结 前言 今天是六.一儿童节,在这里祝各位大朋友…

el-table超过宽度强制显示滚动条

使用css强制显示: .el-table .el-table__body-wrapper::-webkit-scrollbar {display: block; }

基础—SQL—DCL(数据控制语言)之用户管理

一、引言 分类全称描述DCLData Control Language(数据控制语言)用来创建和管理数据库用户以及控制数据库的访问权限 1、图解 右边的是我们的 MySQL 的数据库服务器,左边是假设的两个用户 1、 DCL 主要控制的就是有哪些用户可以来访问这台 My…

Python学习需要哪些知识基础?

基础知识是非常重要的,这些内容确实是Python学习的基础。我这里有一套编程入门教程,不仅包含了详细的视频讲解,项目实战。如果你渴望学习编程,不妨点个关注,给个评论222,私信22,我在后台发给你。…

各大平台取消一年期免费SSL证书后,如何申请超长期免费SSL证书

一:为什么一定要用SSL证书 SSL证书是一种提供网络安全的协议,主要作用是提供对用户和服务器的认证以及确保传送的数据进行加密和隐藏,从而保证数据的完整性和安全性。网站安装SSL证书后就可以实现HTTPS访问,消除网站访问不安全提…

ssm汉服文化平台网站

博主介绍:✌程序员徐师兄、8年大厂程序员经历。全网粉丝15w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

04Linux文件系统

课程目标 1、了解Linux操作系统的硬盘分区信息 2、了解Linux操作系统重各目录的作用 3、了解Linux的启动级别以及关机和重启命令 课程实验 在xshell中使用df -h ,df -T,du -sh,fdisk -|,cd ,pwd 使用top ,free,cat/proc/xxx…

JavaScript实现平滑滚动

● 本次我们将实现点击按钮时候,可以平滑得滚动到指定位置 ● 首先我们获取到按钮信息和想要滚动到得章节 const btnScrollTo document.querySelector(.btn--scroll-to); const section1 document.querySelector(#section--1);● 下一步就是添加点击事件了 bt…

Java八股文面试全套真题

Java八股文面试全套真题 一、Redis1.1、你在最近的项目中哪些场景使用了redis呢?1.2、缓存穿透1.3、布隆过滤器1.4、缓存击穿1.5、缓存雪崩1.6、redis做为缓存,mysql的数据如何与redis进行同步呢?(双写一致性)1.6.1、读…

进程与线程(一)

进程与线程(一) 理解什么是并发编程进程的相关概念什么是进程对比进程和程序理解进程是一个独立的可调度的任务理解进程是程序执行和资源管理的最小单位进程状态转换图进程的种类 进程相关命令进程状态标志ps命令-aux:-axj:(可以查看到进程的PPID)pstree…