No sé qué sucedió hoy por la mañana, abrió mi código y muestra algo como app.firestore() no es una función y muestra firebase.apps.length de indefinido
import * as firebase from 'firebase/app' import 'firebase/firestore' import 'firebase/auth' const app = !firebase.apps.length ? firebase.initializeApp(firebaseConfig) : firebase.app() const db = app.firestore()La sintaxis de Firebase ha cambiado en v9, ya que ahora todo es modular/funcional. Ahora puede obtener de forma segura una aplicación con:
import { initializeApp } from 'firebase/app'; import { getFirestore, collection, getDocs } from 'firebase/firestore'; const app = initializeApp(firebaseConfig); const db = getFirestore(app);Recomiendo encarecidamente tener a mano la documentación de Firebase y esta guía de actualización .
Como alternativa, puede seguir usando la sintaxis anterior usando el modo de compatibilidad de los SDK más nuevos, importando desde la ruta de compat .
import firebase from 'firebase/compat/app'; import 'firebase/compat/firestore';En ese caso, el resto de su código permanece sin cambios.