Firebase Web应用程序:firebase.database不是函数

时间:2019-12-29 14:27:32

标签: javascript database firebase function firebase-realtime-database

我正在开发一个Android应用程序,该程序可以使人们登录并添加他们在游乐园中的数据,并且我还需要一个应用程序以在PC上查看存储在数据库中的数据(例如姓名,生日,孩子等) 。我尝试编写一个Web应用程序,但是将其连接到数据库时遇到问题。我是数据库新手,所以可能来自我的代码,有人可以帮助我吗?该应用程序只需要一直向我显示数据库,并在有人注册时进行更新。

当前,我收到此错误:

Uncaught TypeError: firebase.database is not a function
    at index.html:33
    at index.html:66

这是我的index.html文件:

<html>
  <head>
    <meta charset="utf-8"/>
    <script src="https://www.gstatic.com/firebasejs/7.6.1/firebase-app.js"></script>
    <script src="https://www.gstatic.com/firebasejs/7.6.1/firebase-analytics.js"></script>

    <title>Freaky Firebase Example</title>
  </head>
  <body>
    <h1>Freaky Firebase Realtime Database Example</h1>

    <pre id='object'></pre>


    <script>
      (function(){


        // Initialize Firebase
        var firebaseConfig = {
          apiKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
          authDomain: "XXXXXXXXXXXXXXXXXXXXXXXXXXXX.com",
          databaseURL: "XXXXXXXXXXXXXXXXXXXXXXXXXXXX.com",
          projectId: "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
          storageBucket: "XXXXXXXXXXXXXXXXXXXXXXXXXXXX.com",
          messagingSenderId: "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
          appId: "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
          measurementId: "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
        };
        firebase.initializeApp(firebaseConfig);
        firebase.analytics();

        var userDataRef = firebase.database().ref("UserData").orderByKey();
        userDataRef.once("value").then(function(snapshot) {
          snapshot.forEach(function(childSnapshot) {
            var key = childSnapshot.key;
            var childData = childSnapshot.val();              

            var name_val = childSnapshot.val().Name;
            var id_val = childSnapshot.val().AssignedID;

            $("#name").append(name_val);
            $("#id").append(id_val);

          });
        });

        /* Data Event Listeners Start */
        const preObject = document.getElementById('object');
        const dbRefObject = firebase.database().ref().child('object');

        dbRefObject.on('value', snap => {

          console.log(snap.val()); 
          preObject.innerText = JSON.stringify(snap.val(), null, 3);

        }, function(error) {
          // The fetch failed.
          console.error(error);
        });


        /* Stop */


      }());
    </script>


  </body>
</html>

1 个答案:

答案 0 :(得分:1)

Li000000003firebase-app一起,您必须导入firebase-analytics服务。

firebase-database