Firebase DatabaseURL - 配置 firebase

Mel*_*Mel 6 firebase firebase-realtime-database

我正在尝试将 Firebase 与我的 React 应用程序一起使用。

我有一个配置如下的文件:

import * as firebase from 'firebase';

const config = {
  apiKey: process.env.FIREBASE_API_KEY,
  authDomain: process.env.FIREBASE_AUTH_DOMAIN,
  databaseURL: process.env.FIREBASE_DB_URL,
  projectId: process.env.FIREBASE_PROJECT_ID,
  storageBucket: process.env.FIREBASE_STORAGE_BUCKET,
  messagingSenderId: process.env.FIREBASE_MESSAGE_ID,
}

if (!firebase.apps.length) {
  firebase.initializeApp(config);
}

const database = firebase.database();
const auth = firebase.auth()

export {firebase, auth, database };
Run Code Online (Sandbox Code Playgroud)

当我尝试这样做时,我收到一条错误消息:

FIREBASE 致命错误:无法确定 Firebase 数据库 URL。调用 firebase.initializeApp() 时,请务必包含 databaseURL 选项。

我无法理解此错误,因为我在初始化应用程序的调用中包含了配置。配置包括数据库 URL。

你如何初始化数据库?

ske*_*hat 1

你不需要这个if声明firebase.initializeApp(config);

  import * as firebase from 'firebase';

  const config = {
    apiKey: process.env.FIREBASE_API_KEY,
    authDomain: process.env.FIREBASE_AUTH_DOMAIN,
    databaseURL: process.env.FIREBASE_DB_URL,
    projectId: process.env.FIREBASE_PROJECT_ID,
    storageBucket: process.env.FIREBASE_STORAGE_BUCKET,
    messagingSenderId: process.env.FIREBASE_MESSAGE_ID,
  }

  firebase.initializeApp(config);
Run Code Online (Sandbox Code Playgroud)

您不需要导出这些对象,一旦初始化应用程序,它就应该可以在项目中使用而无需导出。

  const database = firebase.database();
  const auth = firebase.auth()

  export {firebase, auth, database };
Run Code Online (Sandbox Code Playgroud)