Quiero separar la lógica en la aplicación y creé un archivo para la inicialización de Firebase y un archivo separado para la lógica de la aplicación. En el archivo de lógica de la aplicación, uso firebase add to database y uso set(). Pero hay un error en la consola: el conjunto no está definido en HTMLButtonElement. ¿Cómo puedo usar las funciones de firebase en un archivo separado de la inicialización?
//firebase.js import { initializeApp } from "https://www.gstatic.com/firebasejs/9.9.0/firebase-app.js"; import { getDatabase, ref, set, onValue, update, remove, } from "https://www.gstatic.com/firebasejs/9.9.0/firebase-database.js"; const firebaseConfig = { ... }; const app = initializeApp(firebaseConfig); const database = getDatabase(app); //script.js set(ref(database, ".../"), { ... })
Tendrá que usar la importación/exportación para lograr lo que desea.
Tal vez exporte lo que desee de firebase.js
:
// firebase.js export const database = getDatabase(app);
... e importa lo que necesites en otros archivos:
// script.js import { database } from './firebase'; import { ref, set } from 'https://www.gstatic.com/firebasejs/9.9.0/firebase-database.js';
También existe la opción de exportar todo desde firebase.js
y solo necesitará 1 importación, pero aún no lo he probado con recursos remotos:
// firebase.js, option 2 export const database = getDatabase(app); export { set, ref } from 'https://www.gstatic.com/firebasejs/9.9.0/firebase-database.js';
// script.js, option 2 import { database, set, ref } from './firebase';
Espero que esto ayude y feliz codificación.