1

this is my firebase sdk version

[email protected]

this is init code of firebase i cant solve this please help me for this error




export default function  initFirebase() {
    if(!firebase.apps.length){
        firebase.initializeApp(clientCredentials)

        if(typeof window !=='undefined'){
            if('measurementId' in clientCredentials){
                firebase.analytics()
                firebase.performance()
            }
        }
        console.log('firebase was successfully init')
    }
}

How i import firebase

import firebase from 'firebase/app'

import 'firebase/firestore'
import 'firebase/storage'
import 'firebase/analytics'
import 'firebase/performance'
3
  • 1
    Please edit your question to show how you import Firebase so that this code can reach it, and probably also what version of the SDK you're importing. I also highly recommend checking firebase.google.com/docs/web/setup, as there have been some breaking changes recently. Commented Sep 13, 2021 at 3:40
  • Please also include the Firebase SDK version in your update. Commented Sep 13, 2021 at 4:07
  • how I find Firebase SDK Commented Sep 13, 2021 at 5:04

3 Answers 3

8

You are using the new Modular SDK (V9.0.0+) which is designed to facilitate tree-shaking (removal of unused code) to make your web app as small and fast as possible. If you want to use your existing code (V8 name-spaced syntax) then you would have to change your imports to compat versions as shown below:

import firebase from 'firebase/compat/app'
import 'firebase/compat/firestore'
// import 'firebase/compat/[SERVICE_NAME]'

However, I would recommend upgrading to the new SDK. The modular/functional syntax looks like this:

import { initializeApp } from 'firebase/app'
import { getAuth } from 'firebase/auth'
import { getFirestore } from 'firebase/firestore'

const app = initializeApp({ ...firebaseConfig })

const auth = getAuth(app)
const firestore = getFirestore(app)
// other Firebase services

You don't have to check if a default Firebase app instance already exists in the modular syntax. However, if you need to list Firebase instances, you can do so using getApps():

import { getApps } from 'firebase/app'

console.log(getApps())
Sign up to request clarification or add additional context in comments.

Comments

0

Below is what worked for me, the issue started after I upgraded to Firebase 9

import firebase from 'firebase/compat/app';
import * as firebaseui from 'firebaseui'
import 'firebaseui/dist/firebaseui.css'

My firebase initialization looks like below:

 let ui = firebaseui.auth.AuthUI.getInstance()
    if (!ui) {
      ui = new firebaseui.auth.AuthUI(firebase.auth())
    }
    ui.start('#firebaseui-auth-container', {
      signInFlow: isDesktop() ? 'popup' : 'redirect',
      callbacks: {
        signInSuccessWithAuthResult() {
          window.location.assign(`/home`)
          // firebase.auth().signOut()
          return false
        },
      },

...

Comments

0

You can't use the Firebase Auth UI library with the modular SDK yet. Check this for more details.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.