"未捕获的ReferenceError:未定义Firebase"

时间:2016-06-18 20:34:36

标签: javascript jquery firebase firebase-authentication

我第一次在练习项目中使用Firebase,而且我很难设置用户登录帐户的能力。

我已成功设置注册,但到目前为止,我无法登录并检查身份验证状态是否正常工作。

我在控制台中一直收到的错误是 "未捕获的ReferenceError:未定义Firebase"

我自己做了一些研究,但我似乎找到的唯一答案就是说你需要包含Firebase的脚本标签,因为我已将它们包括在内,所以这里并不相关,或者版本2.4.2的过时响应

<head>
<script src="https://www.gstatic.com/firebasejs/3.0.5/firebase.js"></script>

<script>
   /*global Firebase */
  // Initialize Firebase
  var config = {
    apiKey: "omit",
    authDomain: "omit",
    databaseURL: "omit",
    storageBucket: "omit",
  };
  firebase.initializeApp(config);
</script>

<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js'></script>

有问题的代码在这里:

// Create a callback which logs the current auth state
var ref = new Firebase("omit");
ref.onAuth(function(authData) {
if (authData) {
console.log("User " + authData.uid + " is logged in with " + authData.provider);
} else {
console.log("User is logged out");
}
}); 

1 个答案:

答案 0 :(得分:3)

正如Frank van Puffelen指出的那样,根据Firebase documentation,在Firebase 3.x中,根数据库引用被实例化为firebase.database().ref()而不是new Firebase("<path>");。这应解决未捕获的引用错误。

正如ALI MAKEEN指出的那样,修复它当然会在代码中出现其他错误。请参阅最新文档。顺便说一下,如果您使用的是AngularJS,AngularFire是Firebase的绝佳绑定,它支持user authentication