【问题标题】:"Uncaught ReferenceError: Firebase is not defined"“未捕获的 ReferenceError:未定义 Firebase”
【发布时间】:2016-10-20 11:06:34
【问题描述】:

我是第一次使用 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");
}
}); 

【问题讨论】:

  • 可能应该省略密钥和配置信息...
  • @AndrewL 好的,谢谢。
  • 不是来自您的实际代码,只是来自网站,因为所有这些都是公开的 :)
  • 您包含适用于 JavaScript 的 Firebase SDK 3.0 版,但您使用的代码适用于 2.x 版。关注documentation for the new version,错误就会消失。
  • onAuth() 在 3.0 版中已弃用,您不再像以前那样实例化 Firebase 对象。 Frank van Puffelen 是对的:你应该遵循新版 firebase 的文档,你会很高兴的。祝你好运!

标签: javascript jquery firebase firebase-authentication


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2016-04-30
    • 1970-01-01
    • 2020-10-08
    • 2021-06-17
    • 2023-01-23
    • 2016-11-03
    • 2011-01-05
    • 2016-01-02
    • 2013-10-06
    相关资源
    最近更新 更多