Next.js: La aplicación de Firebase llamada '[DEFAULT]' ya existe (aplicación / aplicación duplicada)

Creado en 17 may. 2017  ·  10Comentarios  ·  Fuente: vercel/next.js

Comencé un proyecto basado en https://github.com/zeit/next.js/tree/v3-beta/examples/with-firebase

El error que tengo al importar firebase en más de un componente.

En este archivo de inicio de base de fuego:

`importar firebase desde 'firebase'

const firebaseConfig = {
apiKey: "fdsfsdfdsf",
authDomain: "fdsfdsfsdfdsf",
databaseURL: "sdfdsfdsf",
projectId: "dsfdsfdsf",
storageBucket: "dsfdsfdsf",
messagingSenderId: "dsfdsfsdfdsf"
}

const FbApp = firebase.initializeApp (firebaseConfig)

exportar FbApp.auth () predeterminado

Luego en los componentes:

import firebase from '../lib/firebaseClient'

Con un solo componente funciona bien, pero si agrego un nuevo componente con import firebase from '../lib/firebaseClient' la aplicación falla:

Firebase: la aplicación de Firebase llamada '[DEFAULT]' ya existe (app / duplicate-app).
FirebaseError: Firebase: La aplicación de Firebase llamada '[DEFAULT]' ya existe (app / duplicate-app).

Comentario más útil

Puede comprobar firebase.apps para ver si está cargado. Si solo lo carga una vez, puede verificar la longitud. Si tiene varios, puede verificar el nombre de cada aplicación.

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

http://stackoverflow.com/questions/37652328/how-to-check-if-a-firebase-app-is-already-initialized-on-android

Todos 10 comentarios

Puede comprobar firebase.apps para ver si está cargado. Si solo lo carga una vez, puede verificar la longitud. Si tiene varios, puede verificar el nombre de cada aplicación.

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

http://stackoverflow.com/questions/37652328/how-to-check-if-a-firebase-app-is-already-initialized-on-android

La solución:

`importar firebase desde 'firebase'

tratar {
firebase.initializeApp ({
databaseURL: 'dfgdfg'
})
} atrapar (err) {
// omitimos el mensaje "ya existe" que es
// no es un error real cuando estamos recargando en caliente
if (! / ya existe / .test (err.message)) {
console.error ('Error de inicialización de Firebase', err.stack)
}
}

const fb = base de fuego
exportar fb predeterminado

el problema se debe a que se llama al método initialize de firebase más de varias veces. yo tuve este mismo problema. y podría solucionarlo restringiendo la llamada al método de inicialización más de una vez. Realice las configuraciones de la base de fuego en una clase y conviértalo en clase singleton.

Soy nuevo en firebase y soy un desarrollador web reciente. Tuve este problema. Mi problema fue causado por vincular mi archivo javascript tanto en el encabezado como en el cuerpo de mi archivo html. Específicamente, tenía etiquetas de script firebase y js en el encabezado html y otra etiqueta de script js al final de la etiqueta del cuerpo. Mi solución fue eliminar todas las etiquetas de script del encabezado y colocarlas en la parte inferior del cuerpo.

Esa es mi solución:

// Config file
import * as firebase from "firebase";

const config = {...};

export default !firebase.apps.length ? firebase.initializeApp(config) : firebase.app();

// Other file
import firebase from '../firebase';
...
console.log(firebase.name);
console.log(firebase.database());

¡Solución brillante! @Purii

@Purii Me acabas de salvar el día

Si usa firestore, use:

export default !firebase.apps.length
  ? firebase.initializeApp(config).firestore()
  : firebase.app().firestore();

@jide gracias

También tuve que incluir import 'firebase/firestore';

import * as firebase from 'firebase'
import 'firebase/firestore';

const config = {
  apiKey: "***",
  authDomain: "***",
  databaseURL: "***",
  projectId: "***",
  storageBucket: "***",
  messagingSenderId: "***"
};

export default !firebase.apps.length 
  ? firebase.initializeApp(config).firestore()
  : firebase.app().firestore();

@Purii y @jide , gracias por las soluciones

¿Fue útil esta página
0 / 5 - 0 calificaciones