【问题标题】:Firebase: Firebase App named '[DEFAULT]' already exists (app/duplicate-app). Nextjs + firebaseFirebase:名为“[DEFAULT]”的 Firebase 应用程序已存在(应用程序/重复应用程序)。 Nextjs + 火力基地
【发布时间】:2021-03-28 09:03:40
【问题描述】:

我正在使用 nextjs + firebase 并尝试运行 auth 和 db,但我发现该应用程序使用 nextjs 运行了两次。 这是我的 firebase.js 文件

import firebase from "firebase";

// For Firebase JS SDK v7.20.0 and later, measurementId is optional

  const firebaseConfig = {
  apiKey: "................I",
  authDomain: ".......firebaseapp.com",
  databaseURL: "htt.......firebaseio.com",
  projectId: "......",
  storageBucket: "......appspot.com",
  messagingSenderId: "....",
  appId: "...........",
  measurementId: "G-......",
};

const firebaseApp = firebase.initializeApp(firebaseConfig);


const db = firebaseApp.firestore();
const auth = firebase.auth();

export { db, auth };

我尝试了许多添加 sn-ps 的解决方案,但没有任何效果,因为我还是 firebase 新手

【问题讨论】:

  • 试试我在这里展示的技巧:stackoverflow.com/a/65343480
  • 我多次看到这个 sn-p 作为解决方案,但我什至不知道在哪里提交它
  • 您可以将if 放在当前的const firebaseApp = firebase.initializeApp(firebaseConfig); 行周围,因为这会引发错误。如果这不能解决问题,请编辑您的问题以显示您的尝试。

标签: reactjs firebase next.js


【解决方案1】:
let app;
try {
  app = firebase.initializeApp({...});
} catch (e) {
  app = http://firebase.app();
}

【讨论】:

    【解决方案2】:

    为了避免数据获取麻烦,我使用了这种技术,它工作得很好。 https://github.com/vercel/next.js/discussions/14420#discussioncomment-29816

    【讨论】:

      猜你喜欢
      • 2019-10-26
      • 2019-05-22
      • 2017-09-05
      • 1970-01-01
      • 2023-03-31
      • 2022-12-16
      • 1970-01-01
      • 2022-06-22
      相关资源
      最近更新 更多