Traté de pasar a la versión 9 de Firebase y actualicé todas mis importaciones sin cambiar el código y ahora, cuando intento iniciar sesión en Google, sigo obteniendo esto.
TypeError: Cannot read properties of undefined (reading 'GoogleAuthProvider')Este es el código con el que tengo un problema.
import firebase from "firebase/compat/app"; const provider = new firebase.auth.GoogleAuthProvider(); // Import the functions you need from the SDKs you need import { initializeApp } from "firebase/app"; firebaseConfig // Initialize Firebase const app = initializeApp(firebaseConfig); export default appMe gustaría sugerirle que lea la guía para actualizar a Firebase v9 desde v8 , como veo que confirmó anteriormente, solo actualizó sus importaciones, pero me temo que necesitará hacer algunos extras para actualizar su código por completo, incluso aunque mencionó que tuvo problemas con la autenticación, y uno de los pasos principales es eliminar el código de compatibilidad de la versión anterior, especialmente en ese módulo. Aquí están los pasos:
Sobre el proceso de actualización
Cada paso del proceso de actualización tiene un alcance para que pueda terminar de editar el código fuente de su aplicación y luego compilarlo y ejecutarlo sin interrupciones. En resumen, esto es lo que debe hacer para actualizar una aplicación:
- Agregue las bibliotecas de la versión 9 y las bibliotecas compatibles a su aplicación.
- Actualice las declaraciones de importación en su código a la compatibilidad con v9.
- Refactorice el código para un solo producto (por ejemplo, Autenticación) al estilo modular.
- Opcional: en este punto, elimine la biblioteca de compatibilidad de autenticación y el código de compatibilidad para la autenticación para obtener el beneficio del tamaño de la aplicación para la autenticación antes de continuar.
- Refactorice funciones para cada producto (por ejemplo, Cloud Firestore, FCM, etc.) al estilo modular, compilando y probando hasta que todas las áreas estén completas.
- Actualice el código de inicialización al estilo modular.
- Elimine todas las declaraciones de compatibilidad de la versión 9 restantes y el código de compatibilidad de su aplicación.
Está recibiendo este error porque el código que está utilizando para inicializar GoogleAuthProvider es de v8, así que sustitúyalo con el siguiente código como lo sugiere la documentación oficial :
import { GoogleAuthProvider } from "firebase/auth"; const provider = new GoogleAuthProvider();
Si sigue los pasos faltantes de la guía anterior, probablemente el error desaparecerá
Finalmente, veo que tiene firebaseConfig bajo su importación, y no estoy seguro si realmente lo está llamando así, pero seguiría la guía actualizada.
import { initializeApp } from 'firebase/app'; firebaseConfig = { //... }; const app = initializeApp(firebaseConfig);