Firebase Local Emulator Suite详解
创作时间:
作者:
@小白创作中心
Firebase Local Emulator Suite详解
引用
CSDN
1.
https://blog.csdn.net/yikezhuixun/article/details/139326637
Firebase Local Emulator Suite 是一组本地服务,可以模拟 Firebase 平台的在线服务,帮助开发者在本地环境中开发和测试应用程序,而不必依赖实时的 Firebase 项目。以下是关于 Firebase Local Emulator Suite 的详细介绍及其使用方法。
Firebase Local Emulator Suite 组件
- Authentication Emulator:模拟 Firebase Authentication,用于测试用户身份验证。
- Firestore Emulator:模拟 Cloud Firestore 数据库。
- Realtime Database Emulator:模拟 Firebase Realtime Database。
- Storage Emulator:模拟 Firebase Storage。
- Hosting Emulator:模拟 Firebase Hosting 环境。
- Functions Emulator:模拟 Cloud Functions for Firebase。
- 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');
}
常见用途
- 开发和测试:在本地开发和测试 Firebase 应用程序,无需每次更改都部署到云端。
- 集成测试:使用本地模拟器进行端到端集成测试,确保所有组件正常工作。
- 离线开发:即使没有网络连接,也能继续开发和测试应用程序。
热门推荐
油烟机不排烟的处理方法有哪些
深入解析VIE架构的会计处理及其重要性
台湾骑行完全攻略:路线规划、季节选择与安全指南
油烟机安装高度全攻略:不同机型的安装建议与注意事项
利好股市是什么?利好股市的因素有哪些?
职工医保:为个人带来实实在在的好处
管理类还是非管理类?非全日制研究生咋选?2025年报考条件和流程一次说清!
煤炭价格上涨的因素是什么?这些因素对市场有哪些连锁反应?
聚合物流动性及力学性能表征在材料研发、加工及性能表征上的应用
金丝楠和黄花梨哪个更适合做家具?
智能制造行业市场现状及发展趋势分析2024
马航 MH370 重启搜索:11 年的等待,能否迎来真相的曙光?
买卖合同管辖权认定
井下工人劳动保护用品的法律规范与实践
Clin Kidney J:严重低钠血症患者过度纠正的发生率及其预测因素
初春湿气至,怎样对照症状自查身体有无湿气?
细菌感染用什么抗生素效果好
固态电池:具有技术颠覆潜力的新技术
油切乌龙茶的功效与作用有哪些
三元锂电池为什么不建议充满?三元锂电池充电到90%吗
实用与舒适兼得!农村自建房设计全攻略
健康饮食:保持活力与长寿的秘诀
买卖合同纠纷管辖权如何确定?
如何鉴赏石雕观音的雕刻工艺与细节处理?
恋爱脑,总让你迷失?教你如何理性看待感情,守住自我
反复刺激引起的慢性炎症是否会导致癌变
2025年广州初中艺术学业水平考试报名简章公布
情感教育在班级管理中的运用
股票标识T的含义及其在市场中的作用是什么?这种标识如何影响投资者决策?
隔夜海鲜还能吃吗?揭秘隔夜海鲜的安全性与食用建议