Hola, estoy tratando de implementar la API de base de datos en tiempo real de firebase en mi sitio web, estoy siguiendo esta documentación: https://firebase.google.com/docs/database/admin/save-data#node.js pero recibo este error:
este es mi código:
<script type="module"> // Import the functions you need from the SDKs you need import { initializeApp } from "https://www.gstatic.com/firebasejs/9.8.3/firebase-app.js"; import { getAnalytics } from "https://www.gstatic.com/firebasejs/9.8.3/firebase-analytics.js"; import { getDatabase } from "https://www.gstatic.com/firebasejs/9.8.3/firebase-database.js";; // TODO: Add SDKs for Firebase products that you want to use // https://firebase.google.com/docs/web/setup#available-libraries // Your web app's Firebase configuration // For Firebase JS SDK v7.20.0 and later, measurementId is optional const firebaseConfig = { apiKey: "xxxxxxxxxxxxxxxxxxxxx", authDomain: "xx.x.xxx", databaseURL: "xxxxxxxxxxxxxxxx", projectId: "xxxxx", storageBucket: "xxxxxxxxx", messagingSenderId: "xxxx", appId: "xxxxx", measurementId: "xxxxxxx" }; const fireapp = initializeApp(firebaseConfig); const db = getDatabase(fireapp); const ref = db.ref('server/saving-data/fireblog'); </script>¿Qué estoy haciendo mal? ¿La versión que estoy usando podría ser incorrecta?
Está mezclando la nueva sintaxis modular/v9 de la API con la sintaxis de espacio de nombres más antigua, y eso no funcionará.
En v9, el equivalente de esa última línea es:
const dbref = ref(db, 'server/saving-data/fireblog');Dado que parece que está tomando un código obsoleto, le recomiendo tener la documentación a mano (por ejemplo, esta sección sobre cómo obtener una referencia ) para comparar los ejemplos de código v8 y v9, así como leer la guía de actualización .
Está utilizando Firebase Client SDK pero se refiere a la documentación de Firebase Admin SDK que aún no es totalmente modular. Intenta refactorizar el código usando la función ref() :
import { ref } from "firebase/database" const dbRef = ref(db, 'server/saving-data/fireblog');Consulte la documentación de Firebase JS SDK (la pestaña Modular ) para ver la sintaxis correcta.
parece que está utilizando la documentación para el SDK de back-end de NodeJS. Su punto de partida para el desarrollo de frontend debe ser Firebase docs: web start .
Para v9 del Web-SDK, que incluiste en tu sitio web, hay diferentes funciones para usar. Consulte los documentos de firebase: lectura/escritura web para usarlos.
También estaba confundido cuando usé Firebase por primera vez para el desarrollo web hace algunas semanas. Espero que ayude.