如何使用TypeScript配置Firebase本地模拟器?
Firebase Admin SDK 连接本地模拟器配置方案
核心修改点
- 本地模拟器无需使用
service-account.json证书,改用默认凭据初始化即可 - 仅在开发环境下配置各服务的模拟器地址与端口,避免影响生产环境
完整TypeScript代码
import * as admin from 'firebase-admin'; // 初始化Firebase Admin应用(本地模拟器无需service account认证) const firebaseAdmin = admin.initializeApp({ credential: admin.credential.applicationDefault(), }); // 仅开发环境连接本地模拟器 if (process.env.NODE_ENV === 'development') { // 配置Firestore模拟器(默认端口8080,需与启动命令一致) admin.firestore().settings({ host: 'localhost:8080', ssl: false, }); // 配置Auth模拟器(默认端口9099) admin.auth().settings({ host: 'localhost:9099', ssl: false, }); // 配置Storage模拟器(默认端口9199) admin.storage().settings({ apiEndpoint: 'http://localhost:9199', }); } export default firebaseAdmin;
注意事项
- 需先通过
firebase emulators:start启动本地模拟器,代码中端口要与模拟器启动时的端口一致 - 若自定义了模拟器端口,需同步修改代码中的对应端口号
- 前端应用也需同步配置连接模拟器(如Web SDK使用
connectFirestoreEmulator等方法),否则仍会连接云端服务
内容的提问来源于stack exchange,提问作者Shun Takahashi
相关产品推荐
相关产品推荐

