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

1K
Vistas
El paquete `Firebase` se encontró con éxito. Sin embargo, este paquete en sí especifica un campo de módulo "principal" que no se pudo resolver

Estoy tratando de leer y escribir en firestore, usar la autenticación de firebase y el almacenamiento de firebase dentro de una aplicación nativa de reacción administrada por exposición.

Error completo:

 While trying to resolve module `firebase` from file `C:\Users\joshu\Desktop\VSProjects\VolleyballConnect\firebase.js`, the package `C:\Users\joshu\Desktop\VSProjects\VolleyballConnect\node_modules\firebase\package.json` was successfully found. However, this package itself specifies a `main` module field that could not be resolved (`C:\Users\joshu\Desktop\VSProjects\VolleyballConnect\node_modules\firebase\index`. Indeed, none of these files exist: * C:\Users\joshu\Desktop\VSProjects\VolleyballConnect\node_modules\firebase\index(.native|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx|.android.js|.native.js|.js|.android.jsx|.native.jsx|.jsx|.android.json|.native.json|.json) * C:\Users\joshu\Desktop\VSProjects\VolleyballConnect\node_modules\firebase\index\index(.native|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx|.android.js|.native.js|.js|.android.jsx|.native.jsx|.jsx|.android.json|.native.json|.json)

Mi archivo de configuración de firebase:

 import firebase from "firebase"; import { initializeApp } from "firebase/app"; import "firebase/firestore"; import "firebase/auth"; import "firebase/storage"; // I'm using the example key here, I have the correct config const firebaseConfig = { apiKey: "api-key", authDomain: "project-id.firebaseapp.com", databaseURL: "https://project-id.firebaseio.com", projectId: "project-id", storageBucket: "project-id.appspot.com", messagingSenderId: "sender-id", appId: "app-id", measurementId: "G-measurement-id", }; if (firebase.apps.length === 0) { initializeApp(firebaseConfig); } const db = firebase.firestore(); const auth = firebase.auth(); const storage = firebase.storage(); export { db, auth, storage };

Instalé el paquete firebase con:

 expo install firebase

Cualquier ayuda sería muy apreciada. ¡Gracias!

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Para reducir el tamaño de la aplicación, firebase SDK (v9.0.0) se volvió modular. Ya no puede hacer la declaración de importación como antes en v8.

Tienes dos opciones.

  1. Utilice la forma compatible con versiones anteriores. (más tarde será eliminado):

Esta:

 import firebase from 'firebase/app'; import 'firebase/auth'; import 'firebase/firestore';

Debería cambiarse a:

 // v9 compat packages are API compatible with v8 code import firebase from 'firebase/compat/app'; import 'firebase/compat/auth'; import 'firebase/compat/firestore';
  1. Refactorice su código ahora.

De esto:

 import firebase from "firebase/compat/app"; import "firebase/compat/auth"; const auth = firebase.auth(); auth.onAuthStateChanged(user => { // Check for user status });

A esto:

 import { getAuth, onAuthStateChanged } from "firebase/auth"; const auth = getAuth(firebaseApp); onAuthStateChanged(auth, user => { // Check for user status });

Definitivamente deberías revisar la documentación .

over 4 years ago · Santiago Trujillo Denunciar

0

Me encontré con el mismo problema hoy, en mi caso, se resolvió siguiendo.

1.

 // v9 compat packages are API compatible with v8 code import firebase from 'firebase/compat/app'; import 'firebase/compat/auth'; import 'firebase/compat/firestore';

cambiar de ↓

 if (firebase.apps.length === 0) { initializeApp(firebaseConfig); }

a ↓

 app = firebase.initializeApp(firebaseConfig)

Este enlace fue realmente útil

Para estar seguro, comparto mi firebase.js (ocultando información personal)

 import firebase from 'firebase/compat/app'; import 'firebase/compat/auth'; import 'firebase/compat/firestore'; const firebaseConfig = { apiKey: "AIzxxxxxxxxxxxxxxxxxxxBbBFNGMI", authDomain: "sixxxxxxxxxcc8.firebaseapp.com", projectId: "sxxxxxxxxxxx8", storageBucket: "xxxxxxxxxxxxxcc8.appspot.com", messagingSenderId: "6xxxxxxxxxx", appId: "1:65xxxxxxxx13:web:d0exxxxxxxxxxxxxxxxx7c" }; let app; if (firebase.apps.length === 0) { app = firebase.initializeApp(firebaseConfig) } else { app = firebase.app(); } const db = app.firestore(); const auth = firebase.auth(); export { db, auth };
over 4 years ago · Santiago Trujillo Denunciar

0

Desinstale firebase, luego instale firebase@8.2.3

over 4 years ago · Santiago Trujillo 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