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

173
Vistas
importar geofire-common con firestore para el código del navegador

Estoy un poco confundido tratando de usar geofire-common en el código del navegador.

Al principio, hice un intento exitoso con NodeJS que usa geofire-common que se hace referenciaaquí en la documentación de Google y cuyo código se ve así:

 import { createRequire } from 'module'; // <------ trick to get a require function const require = createRequire(import.meta.url); const { initializeApp, cert } = require('firebase-admin/app'); const { getFirestore } = require('firebase-admin/firestore'); const serviceAccount = require('./serviceAccountKey.json'); initializeApp({ credential: cert(serviceAccount), }); const db = getFirestore(); const geofire = require('geofire-common'); //<---------- geofire-common

Entonces, quería hacer que esto funcionara desde el lado del navegador... y me topé con este ejemplo . En este ejemplo, puedo ver una función 'requerir', así que supongo que tiene algo que ver con el módulo commonJS de la vieja escuela:

 const geofire = require('geofire-common');

Require no es parte de la API de JavaScript estándar y debe ser específico de NodeJS (lo cual es un poco extraño porque pensé que el ejemplo era el código del navegador), así que intenté usar una importación de ES6.

 import {geofire} from 'geofire-common';

... sin éxito :

 The requested module '/node_modules/.vite/geofire-common.js?v=738ba8db' does not provide an export named 'geofire'

Si algunos de los expertos en JS estuvieran dispuestos a arrojar algo de luz sobre esos 2 paquetes y ayudarme a importar geofire correctamente si es posible, sería muy apreciado.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

creo que puedes usar

 import * as geofire from 'geofire-common';
about 4 years ago · Juan Pablo Isaza Denunciar

0

Esa es una pregunta muy interesante, una vez que me metí en ella, fue un poco confuso, ya que las importaciones utilizadas en JavaScript han cambiado, y hay algunas diferencias según el caso de uso.

Primero, necesitamos saber de dónde viene este módulo Geofire; mencionó la documentación y el ejemplo donde podemos ver que usan la línea de comando para instalar esta biblioteca:

 // Install from NPM. If you prefer to use a static .js file visit // https://github.com/firebase/geofire-js/releases and download // geofire-common.min.js from the latest version npm install --save geofire-common

Como puede ver, están usando NPM, lo que nos indica que se trata de una biblioteca de nodejs . Esto es importante porque estaba confundido sobre el origen y si era un módulo commonjs, que parece ser. Esto también significa que debe llamarse usando require , una función y también esta causa no funciona cuando se usa import , que solo se puede usar para el estilo de módulos ES, como se cita en la documentación del nodo :

require

El módulo CommonJS require siempre trata los archivos a los que hace referencia como CommonJS.

No se admite el uso de require para cargar un módulo ES porque los módulos ES tienen una ejecución asíncrona. En su lugar, use import() para cargar un módulo ES desde un módulo CommonJS.

Luego preguntó cómo ejecutar este código en el lado del navegador, lo que creo que se puede hacer usando la referencia HTML o descargando el archivo js como se sugiere en el repositorio de github .

Alternativamente, puede incluir GeoFire en su HTML. Para hacerlo, descargue una versión minificada o no minificada de GeoFire desde la página de lanzamientos de este repositorio de GitHub . Luego, impleméntalo en Hosting en tu proyecto de Firebase.

 <!-- Firebase --> <script src="https://www.gstatic.com/firebasejs/8.0.1/firebase-app.js"></script> <script src="https://www.gstatic.com/firebasejs/8.0.1/firebase-database.js"></script> <!-- GeoFire (TODO: substitute in your own project id)--> <script src="https://my-firebase-project.web.app/geofire-5.0.1.min.js"></script>

También me referiría a la referencia de API para obtener más orientación, puedo ver algunas diferencias sobre cómo usar la biblioteca entre la página de firebase y la referencia de API.

Finalmente, en la página de npm podemos ver geofire como dependiente de geofire-common , y ambos tienen el mismo repositorio de github, así que supongo que tiene algo más que ver con el nombre. Yo diría que ambos son básicamente lo mismo.

about 4 years ago · Juan Pablo Isaza 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