Me disculpo si esta no es una buena pregunta (soy bastante nuevo en Firebase y en la programación en JavaScript).
He estado tratando de poner en marcha un programa relativamente simple. Específicamente, cuando ejecuto mi código, me gustaría que apareciera un botón de 'Inicio'. Una vez que un usuario hace clic en este botón, aumentará la cantidad de jugadores en uno y actualizará el número de jugadores en mi base de datos en tiempo real de Firebase en consecuencia.
Me di cuenta de que cuando ejecuto este programa, aparece un error: "Error de tipo no detectado: base de datos.ref no es una función"
Aquí está mi código index.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script defer type="module" src="https://www.gstatic.com/firebasejs/9.1.3/firebase-app.js"></script> <script defer type="module" src="https://www.gstatic.com/firebasejs/9.1.3/firebase-firestore.js"></script> <script defer type="module" src="//cdn.jsdelivr.net/npm/phaser@3.11.0/dist/phaser.js"></script> <script defer type="module" src="game.js"></script> <style type="text/css"> body { margin: 0; } </style> </head> <body> </body> </html>Y aquí está mi código game.js:
import { initializeApp } from "https://www.gstatic.com/firebasejs/9.1.3/firebase-app.js"; import { getDatabase } from 'https://www.gstatic.com/firebasejs/9.1.3/firebase-database.js'; // Your web app's Firebase configuration // For Firebase JS SDK v7.20.0 and later, measurementId is optional const firebaseConfig = { apiKey: "apiKey information", authDomain: "authDomain information", databaseURL: "databaseURL information", projectId: "projectId information", storageBucket: "storageBucket information", messagingSenderId: "messagingSenderId information", appId: "appId information", measurementId: "measurementId information" }; const app = initializeApp(firebaseConfig); // Store Firestore database in db const database = getDatabase(app); var player_num = 0; // Display Start Button and increment player count let button = document.createElement('button'); button.innerHTML = "Start"; button.onclick = function () { player_num++; database.ref('/').update({ playerCount: player_num }); button.style.display = "none"; }; document.body.appendChild(button);Sospecho que es posible que no haya configurado correctamente los módulos del navegador, pero no estoy del todo seguro. ¡Cualquier ayuda sería muy apreciada!
database.ref('/') esto no parece correcto.
Normalmente buscaría un nodo raíz con un nombre como database.ref('game/') .