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

使用Firebase时出现Invariant Violation及ReferenceError问题求助

解决Firebase初始化错误及"main"未注册问题

1. 修复ReferenceError: Property 'initializeApp' doesn't exist错误

你的Firebase配置文件存在两处关键问题:

  • 直接调用的initializeApp方法未正确关联到导入的Firebase对象
  • Firestore的compat版本导入路径错误

修正后的database/firebase文件代码:

import firebase from "firebase/compat/app";
// 修正Firestore的compat模式导入路径
import "firebase/compat/firestore";

const firebaseConfig = {
  apiKey: "AIzaSyDtHTodTxYPLVHzy8GRVLAFWLPxCwHDGdA",
  authDomain: "calendar-app-2baab.firebaseapp.com",
  projectId: "calendar-app-2baab",
  storageBucket: "calendar-app-2baab.appspot.com",
  messagingSenderId: "257098776368",
  appId: "1:257098776368:web:40acf9bd1df66a8df392f5",
};

// 通过firebase对象调用initializeApp方法
const app = firebase.initializeApp(firebaseConfig);
// 同样通过firebase对象调用firestore
const db = firebase.firestore();

export default {
  firebase,
  db,
};

2. 修复Invariant Violation: "main" has not been registered错误

  • 检查App路径:确认AppEntry.js中import App from '../../App'的路径是否正确,确保App.js确实位于当前文件目录的上两级目录中。路径错误会导致无法加载根组件,触发该错误。
  • 确认Metro启动目录:关闭当前Metro服务,回到项目根目录重新运行npx expo start。在子目录启动Metro会导致入口文件解析失败。
  • 清理Metro缓存:运行npx expo start --clear清除旧缓存,避免缓存导致的路径解析异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 11:35:09