Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

194
Vistas
Emuladores de Firebase con Next.js

Estoy tratando de configurar los emuladores V9 de Firebase con Next.js sin suerte. Siempre recibo este error, ingrese la descripción de la imagen aquí

Mi versión de Firebase es 9.1.1 .

Mi configuración de Firebase se ve así:

 import { initializeApp, FirebaseApp } from "firebase/app"; import { initializeApp, FirebaseApp } from "firebase/app"; import firebase from "firebase/compat/app"; import { getAuth, connectAuthEmulator, Auth } from "firebase/auth"; import { getFirestore, connectFirestoreEmulator, Firestore, } from "firebase/firestore"; import { getStorage, connectStorageEmulator, FirebaseStorage, } from "firebase/storage"; import { getDatabase, connectDatabaseEmulator, Database, } from "firebase/database"; let firebaseApp: FirebaseApp; let auth: Auth; let firestore: Firestore; let storage: FirebaseStorage; let db: Database; if (!firebase.apps.length) { firebaseApp = initializeApp(clientCredentials); auth = getAuth(firebaseApp); firestore = getFirestore(firebaseApp); storage = getStorage(firebaseApp); db = getDatabase(firebaseApp); } if (IS_DEV) { connectFirestoreEmulator(firestore, "localhost", 8080); connectAuthEmulator(auth, "http://localhost:9099", { disableWarnings: true }); connectDatabaseEmulator(db, "localhost", 9000); connectStorageEmulator(storage, "localhost", 9199); } export { firebaseApp, auth, firestore, storage, db }

Me aseguré de que no haya llamadas de mi objeto firestore. Tan pronto como se inicia Next.js, aparece ese error.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Esto sucede debido a los valores del espacio de nombres global y al tiempo de ejecución de NextJs.

Puedes arreglar esto de la siguiente manera:

 const EMULATORS_STARTED = 'EMULATORS_STARTED'; function startEmulators() { if (!global[EMULATORS_STARTED]) { global[EMULATORS_STARTED] = true; connectFunctionsEmulator(functions, 'localhost', 5001); connectFirestoreEmulator(db, 'localhost', 8080); connectAuthEmulator(auth, "http://localhost:9099", { disableWarnings: true }); connectDatabaseEmulator(db, "localhost", 9000); connectStorageEmulator(storage, 'localhost', 9199); } }

Firebase agrega un espacio de nombres global de 'EMULATORS_STARTED' una vez que se ha iniciado y NextJs intenta ejecutar ese código varias veces. Este script evitará que intentes conectarte a los emuladores más de una vez.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda