Estoy tratando de importar firebase en una aplicación Vue 2, pero me encuentro con este molesto problema.
Mis importaciones se parecen a:
import firebase from 'firebase/app' import 'firebase/auth' import 'firebase/firestore'pero cuando lo sirvo, obtengo:
exportar 'predeterminado' (importado como 'firebase') no se encontró en 'firebase/app'
... y mis vistas no se renderizan ni enrutan.
Mi versión de firebase es 9.0.0 fuera de npm.
Debido al lanzamiento de Firebase SDK versión 9 el 25 de agosto de 2021, muchos usuarios que utilizan Firebase Web SDK versión 8 tienen el mismo problema.
De acuerdo con la documentación, las aplicaciones que actualmente usan Firebase Web SDK versión 8 o anterior deberían considerar migrar a la versión 9 de la siguiente manera:
Antes: versión 8 (Antiguo)
import firebase from 'firebase/app'; import 'firebase/auth'; import 'firebase/firestore';Después: compatibilidad con la versión 9 (Nuevo)
// v9 compat packages are API compatible with v8 code import firebase from 'firebase/compat/app'; import 'firebase/compat/auth'; import 'firebase/compat/firestore';Debido a la sugerencia de Doug Stevenson de verificar mi versión de Firebase, terminé revisando los documentos de actualización de Firebase y encontré esto https://firebase.google.com/docs/web/modular-upgrade
Siguiendo las instrucciones allí (cambiando las rutas de firebase/x a firebase/compat/x) solucioné mi problema perfectamente. Gracias a todos, y espero que esta publicación pueda ayudar a cualquier otra persona despistada como yo, confundida por el nuevo formato.
De acuerdo con los documentos de firebase: Actualice las importaciones a v9 compat. Para mantener su código funcionando después de actualizar su dependencia de v8 a v9 beta, cambie sus declaraciones de importación para usar la versión "compatible" de cada importación. Por ejemplo:
Antes: versión 8
import firebase from 'firebase/app'; import 'firebase/auth'; import 'firebase/firestore'; import "firebase/database"; import "firebase/storage";Después: compatibilidad de la versión 9 // Los paquetes de compatibilidad v9 son compatibles con API con el código v8
import firebase from 'firebase/compat/app'; import 'firebase/compat/auth'; import 'firebase/compat/firestore'; import "firebase/compat/database"; import "firebase/compat/storage";