我收到:尝试将表单连接到数据库时,firebase.database不是函数错误

时间:2019-05-14 02:00:15

标签: javascript firebase firebase-realtime-database

我正在尝试将联系表单连接到firebase数据库,并且不断获取firebase.database并不是持续发生功能错误。 我还在这个项目中使用包裹捆绑器,并且也遇到了以下错误:

at Object.parcelRequire.firebase.js (firebase.js:44)
    at newRequire (firebase.js:44)
    at firebase.js:44
    at firebase.js:44

我真的不知道自己在做什么错,在研究了类似的问题之后,他们都无法提供解决方案。

这是我链接文件的方式:

<script src="https://www.gstatic.com/firebasejs/6.0.2/firebase-app.js"></script>
    <script src="./firebase.js"></script>
    <script src="./main.js"></script>
  </body>

这是我的firebase.js文件中的代码:

// Your web app's Firebase configuration
var firebaseConfig = {
  apiKey: "AIzaS*************r48uEU",
  authDomain: "k********irebaseapp.com",
  databaseURL: "https://*******irebaseio.com",
  projectId: "k******",
  storageBucket: "k**********m",
  messagingSenderId: "984****903",
  appId: "1:9843179**********3734705af"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);

var messageRef = firebase.database().ref("messages");

//grab a form
document.querySelector(".contact-form").addEventListener("submit", submitForm);

function submitForm(e) {
  e.preventDefault();

  // get values
  var name = getInputVal("name");
  var email = getInputVal("email");
  var number = getInputVal("phone");
  var message = getInputVal("message");

  saveMessage(name, email, number, message);
}

function getInputVal(id) {
  return document.getElementById(id).value;
}

function saveMessage(name, email, number, message) {
  var newMessageRef = messageRef.push();

  newMessageRef.set({
    name: name,
    email: email,
    number: number,
    message: message
  });
}

谢谢大家的帮助。

1 个答案:

答案 0 :(得分:1)

您目前仅在Firebase中包括此内容:

<script src="https://www.gstatic.com/firebasejs/6.0.2/firebase-app.js"></script>

这仅包含FirebaseApp的定义,不包括Firebase身份验证(firebase.auth())或Firebase实时数据库(firebase.database())。要包含这些脚本,请确保也包含正确的脚本:

<script src="https://www.gstatic.com/firebasejs/6.0.2/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/6.0.2/firebase-database.js"></script>