我第一次在练习项目中使用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");
}
});
答案 0 :(得分:3)
正如Frank van Puffelen指出的那样,根据Firebase documentation,在Firebase 3.x中,根数据库引用被实例化为firebase.database().ref()
而不是new Firebase("<path>");
。这应解决未捕获的引用错误。
正如ALI MAKEEN指出的那样,修复它当然会在代码中出现其他错误。请参阅最新文档。顺便说一下,如果您使用的是AngularJS,AngularFire是Firebase的绝佳绑定,它支持user authentication。