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

Firebase部署后无法连接Cloud Firestore问题求助

解决Firebase生产部署后无法连接Firestore/Auth的问题

核心问题很明确:你的代码里还保留了连接本地模拟器的代码,部署到生产环境后,应用仍在尝试访问本地的模拟器服务(localhost:9099、0.0.0.0:8080),而生产环境无法访问这些本地端口,直接导致Firebase相关操作全部失效,同时页面底部显示的Running in emulator mode. Do not use with production credentials.也验证了这一点。

解决方案

1. 直接删除模拟器连接代码

把firebase.js里这两行代码删掉即可:

connectAuthEmulator(auth, "http://localhost:9099");
connectFirestoreEmulator(db,'0.0.0.0', 8080)

2. 用环境变量区分开发/生产环境(推荐)

为了避免每次部署都手动删除代码,可以通过环境变量自动控制模拟器连接逻辑,示例如下:

const firebaseConfig = {
  apiKey: ...,
  authDomain: ...,
  ...
  measurementId: ...
};

// Initialize Firebase
const app = initializeApp(firebaseConfig);
const db = initializeFirestore(app, {
  experimentalForceLongPolling: true,
  useFetchStreams: false,
})
const auth = getAuth(app);

// 仅在开发环境启用模拟器连接
if (import.meta.env.MODE === 'development') { // Vite项目用法
// if (process.env.NODE_ENV === 'development') { // Create React App项目用法
  connectAuthEmulator(auth, "http://localhost:9099");
  connectFirestoreEmulator(db,'0.0.0.0', 8080);
}

export { auth, db, onAuthStateChanged };
export default app;

补充说明

你之前尝试的修改Firestore初始化方式、放宽Firestore规则这两个操作,都没有触及问题本质——当前故障和初始化配置、数据库权限无关,完全是因为生产环境下错误连接了本地模拟器导致的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 22:25:14