首页 > 解决方案 > 在 firebase@9.0.0-beta.2 + NUXT 创建应用程序时出错

问题描述

我使用 firebase@9.0.0-beta.2 创建了一个应用程序我收到了错误

创建了一个文件夹plugins添加文件firebase.js

import { initializeApp } from 'firebase/app'
import { getFirestore } from 'firebase/firestore'
const firebaseConfig = {
  apiKey: '',
  authDomain: '',
  databaseURL: '',
  projectId: '',
  storageBucket: '',
  messagingSenderId: '',
  appId: ''
}
let firebaseApp
try {
  firebaseApp = getApp()
} catch (e) {
  firebaseApp = initializeApp(firebaseConfig)
}
const db = getFirestore(firebaseApp, {})
export { db }

nuxt.config.js

...
plugins: [    
    '~/plugins/firebase.js'
  ],
...

我得到错误:

error 'getApp' is not defined no-undef

标签: firebasevue.jsnuxt.js

解决方案


getApp()不是内置方法,必须从适当的库中调用,在这种情况下:FirebaseApp.getApp()

import { initializeApp, getApps, getApp } from "firebase/app";
getApps().length === 0 ? initializeApp(firebaseConfig) : getApp();

或者

if (FirebaseApp.getApps(context).isEmpty()) {
    FirebaseApp.initializeApp(context);
}

推荐阅读