亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

即使調用了initializeApp,也“沒有創建Firebase應用程序‘[DEFAULT]’”

即使調用了initializeApp,也“沒有創建Firebase應用程序‘[DEFAULT]’”

富國滬深 2024-01-18 20:45:41
firebase.firestore()我正在嘗試將 Firebase (Firestore) 添加到我的 Nuxt 項目中,但是在我的文件中初始化 const 時收到以下錯誤index.vue:未捕獲的 FirebaseError:Firebase:未創建 Firebase 應用程序“[DEFAULT]” - 調用 Firebase App.initializeApp() (app/no-app)。我已在我的項目中安裝了 Firebase 以及模塊 ( @nuxtjs/firebase)。我的 nuxt.config.js 文件如下所示:export default {...plugins: ['~/plugins/firebase.js'],components: true,buildModules: [    '@nuxt/typescript-build',    '@nuxtjs/tailwindcss',],modules: [],...}我的 firebase.js 文件位于我的插件文件夾中,如下所示:import firebase from 'firebase/app'const config = {    ...}let app = nullif (!firebase.apps.length) {    app = firebase.initializeApp(config)}export default firebase我將上述內容與網上其他示例進行了比較,沒有發現任何問題。然而,我對從 Nuxt 到 Firebase 的一切都很陌生,所以我可能會錯過一些明顯的東西。任何建議表示贊賞。
查看完整描述

3 回答

?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

如果您在單個 Firebase 應用程序上調用initializeApp()多次,通常會發生這種情況。如果您使用單個 Firebase 數據庫,請確保在應用啟動時對其進行初始化。



查看完整回答
反對 回復 2024-01-18
?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

firebase.js的這個代碼片段應該可以工作:


import fb from "firebase/app"

export const firebase = !fb.apps.length ? fb.initializeApp(firebaseConfig) : fb.app()


// somecomponent.js

import {firebase} from "../firebase.js"


// do your firebase stuff here

盡管此代碼片段并非特定于案例,但為了完整性起見,我決定將其包含在內。


除了這個線程之外 - 一般來說,通常是在初始化 via 之前調用或多次調用Uncaught FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - call Firebase App.initializeApp() (app/no-app).的結果(例如Next.js可能會嘗試在后端以及前端初始化它 - 似乎是這種情況在您的代碼中)在您的 firebase 應用程序中。firebase..initializeApp();.initializeApp()

因此,作為解決方案,我強烈建議將初始化移動到firebase.js文件,以便在應用程序啟動時直接初始化它。



查看完整回答
反對 回復 2024-01-18
?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

當您在初始化 Firebase 之前嘗試訪問 Firestore 時,通常會發生這種情況。因此,默認情況下,我們可以檢查 firebase 是否已初始化,firebase.apps.length但每次都初始化 firebase 并不是一個好習慣。


因此,如果您只使用 firestore,那么在您的插件中,您可以在初始化后直接導出 firestore,如下所示,


import firebase from 'firebase/app'


const config = {

    ...

}


let app = null

if (!firebase.apps.length) {

    app = firebase.initializeApp(config)

}


export default firebase.firestore()

但由于您使用的是 nuxt,因此有一個名為firebase/nuxt的特殊 nuxt 包


安裝后,您可以在模塊部分內的 nuxt config 中定義您的配置,如下所示,


modules: [

    [

      '@nuxtjs/firebase',

      {

        config: {

          apiKey: '<apiKey>',

          authDomain: '<authDomain>',

          databaseURL: '<databaseURL>',

          projectId: '<projectId>',

          storageBucket: '<storageBucket>',

          messagingSenderId: '<messagingSenderId>',

          appId: '<appId>',

          measurementId: '<measurementId>'

        },

        services: {

          auth: true // Just as example. Can be any other service.

        }

      }

    ]

  ],

我認為這是在 nuxt.js 中使用 firebase 的更好方法


查看完整回答
反對 回復 2024-01-18
  • 3 回答
  • 0 關注
  • 258 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號