Recibo el siguiente error:
Error: la importación de directorios 'C:\Users\My Name\Documents\Code\WebProjects\nextfire-app\node_modules\firebase\app' no se admite al resolver los módulos ES importados desde C:\Users\My Name\Documents\Code\WebProjects \nextfire-app.next\server\pages\enter.js ¿Quería importar firebase/app/dist/index.cjs.js?
import firebase from "firebase/app" import "firebase/auth"; import "firebase/firestore"; import "firebase/storage"; const firebaseConfig = { // myConfig stuff }; if (!firebase.app.length) { firebase.initializeApp(firebaseConfig) } export const auth = firebase.auth(); export const firestore = firebase.firestore(); export const storage = firebase.storage();Este código está dentro de firebase.js, que se llama desde enter.js usando esta línea
import { auth, googleAuthProvider } from "../lib/firebase";
Este es mi paquete.json:
{ "name": "nextfire-app", "version": "0.1.0", "private": true, "scripts": { "dev": "next dev", "build": "next build", "start": "next start", "lint": "next lint" }, "dependencies": { "firebase": "^8.2.1", "next": "12.1.6", "react": "18.1.0", "react-dom": "18.1.0", "react-firebase-hooks": "^5.0.3", "react-hot-toast": "^2.2.0" }, "devDependencies": { "eslint": "8.15.0", "eslint-config-next": "12.1.6" } }Ni siquiera estoy seguro de qué está tratando de decirme este error, por lo que ha sido muy difícil de depurar. Tampoco he visto a nadie más con un problema similar.
Después de intentarlo un poco más, pude resolver el problema cambiando mis líneas de importación en firebase.js a lo que sugería el error.
Mis nuevas importaciones se ven así:
import firebase from "firebase/app/dist/index.cjs.js" import "firebase/auth/dist/index.cjs.js"; import "firebase/firestore/dist/index.node.cjs.js"; import "firebase/storage/dist/index.cjs.js";Un problema extraño que todavía no entiendo, pero al menos lo tengo funcionando, si alguien con más experiencia sabe por qué ocurrió este problema en primer lugar, me encantaría entender más al respecto.