You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法连接Firebase本地模拟器(Auth/Firestore等)求助

解决Firebase本地模拟器连接问题

1. 修正Auth模拟器端口不匹配

你的firebase.json中Auth模拟器端口配置为9099,但代码里写的是9090,这是导致auth/network-request-failed错误的直接原因。修改firebase.js中的Auth模拟器连接代码:

connectAuthEmulator(auth, "http://localhost:9099");

2. 访问正确的Hosting模拟器端口

你当前访问的localhost:3000是React开发服务器端口,而非Firebase Hosting模拟器端口。根据firebase.json配置,Hosting模拟器运行在localhost:5000,请直接访问这个地址。

如果需要让Hosting模拟器加载最新的本地代码,先执行npm run build生成最新的build目录,再启动模拟器。

3. 生产凭据无需替换

使用生产环境的firebaseConfig完全没问题,connectXXXEmulator方法会自动将所有请求导向本地模拟器,不会访问生产环境服务,不需要修改环境变量中的凭据。

4. 检查模拟器启动状态

确保通过firebase emulators:start命令启动所有模拟器,查看终端日志确认每个服务的端口与配置一致:

  • Auth: 9099
  • Firestore: 8080
  • Storage: 9199
  • Functions: 5001
  • Hosting: 5000

如果遇到跨域问题,可以在firebase.json的emulators配置中为每个服务添加host: "0.0.0.0",允许外部访问:

"emulators": {
  "auth": {
    "port": 9099,
    "host": "0.0.0.0"
  },
  "firestore": {
    "port": 8080,
    "host": "0.0.0.0"
  },
  // 其他模拟器同理添加host配置
}

5. 优化Functions初始化代码

将getFunctions(getApp())改为已初始化的app变量,保持代码一致性:

export const functions = getFunctions(app);
connectFunctionsEmulator(functions, "localhost", 5001);

修改后的完整firebase.js代码

const firebaseConfig = {
  apiKey: process.env.REACT_APP_APIKEY,
  authDomain: process.env.REACT_APP_AUTHDOMAIN,
  projectId: process.env.REACT_APP_PROJECTID,
  storageBucket: process.env.REACT_APP_STORAGEBUCKET,
  messagingSenderId: process.env.REACT_APP_MESSAGINGSENDERID,
  appId: process.env.REACT_APP_APPID,
  measurementId: process.env.REACT_APP_MEASUREMENTID,
};

const app = initializeApp(firebaseConfig);
export const auth = getAuth(app);
connectAuthEmulator(auth, "http://localhost:9099");
export const db = getFirestore(app);
connectFirestoreEmulator(db, "localhost", 8080);
export const storage = getStorage(app);
connectStorageEmulator(storage, "localhost", "9199");
export const functions = getFunctions(app);
connectFunctionsEmulator(functions, "localhost", 5001);

内容的提问来源于stack exchange,提问作者Coolkid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 00:05:36