未捕获的ReferenceError:未定义Firebase

时间:2016-01-23 20:09:12

标签: javascript firebase firebase-realtime-database

我正在尝试按照有关在firebase中设计数据库的教程,但我在JavaScript控制台中收到以下错误:

  

未捕获的ReferenceError:未定义Firebase

以下是教程的链接,我尝试在JavaScript控制台中运行的代码段是:https://www.firebase.com/blog/2014-11-04-firebase-realtime-queries.html

posts2 = driver.find_elements_by_class_name("_Rm")

for post2 in posts2:
    print(post2.get_attribute("href"))

10 个答案:

答案 0 :(得分:17)

有关如何迁移到新版本的指南 您可以在https://firebase.google.com/support/guides/firebase-web

找到它

这是相关的代码片段

enter image description here

答案 1 :(得分:10)

在标题中,包括以下内容:



<head>
    <script src='https://cdn.firebase.com/js/client/2.2.1/firebase.js'></script>
    <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js'></script>
    <link rel='stylesheet' type='text/css' href='/resources/tutorial/css/example.css'>
  </head>
&#13;
&#13;
&#13;

那将解决问题。

答案 2 :(得分:1)

通过&#34; ionic add firebase&#34;安装firebase时遇到了同样的问题。这个添加了firebase版本3.2.0。然后,在寻找答案的同时,我尝试使用版本2.4.2的cdn并且错误消失了,所以我想通过离子下载的版本是导致错误的原因,所以我下载了2.4.2版本,现在它可以工作了。

希望这会有所帮助。

答案 3 :(得分:1)

我遇到了firebase.util lib的问题,因为罗德里戈说我认为这是一个问题。

在:

    var ref = new Firebase('url');

现在:

    firebase.initializeApp(config);

由于firebase对象的定义不同,因此无法找到它。在我的情况下,我需要更新库以与firebase 3.0版兼容。我认为使用旧库不是一个好主意,不合适但是必须将代码更新到版本3.如果还没有人完成,我们可能有机会为社区做出贡献。

答案 4 :(得分:1)

<head>
    <script src='https://cdn.firebase.com/js/client/2.2.1/firebase.js'></script>
    <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js'></script>
    <link rel='stylesheet' type='text/css' href='/resources/tutorial/css/example.css'>
  </head>

答案 5 :(得分:1)

如果您像以前一样使用Firebase Hosting(并使用<script src="/__/firebase/7.14.5/firebase-app.js"></script>),则如果尝试在本地运行而不运行firebase serve,则会遇到此错误。

答案 6 :(得分:0)

从firebase创建连接变量。

con = {
    "apiKey": "your key",
    "authDomain": "example.firebaseapp.com",
    "databaseURL": "https://example.firebaseio.com/",
    "projectId": "example",
    "storageBucket": "example.appspot.com",
    "messagingSenderId": "id"
};

使用此初始化Firebase

firebase.initializeApp(con);

答案 7 :(得分:0)

如果您使用的是Firebase Web API,那么非常重要的一点是首先在body标签中包含核心Firebase SDK,此SDK提供了Firebase可访问性。如图所示。

,此后,我们必须包括所有相关的api代码。可用

1 这些将对您有所帮助,并且将彻底解决您的问题,即未定义firebase,您无需添加任何其他脚本的

2

答案 8 :(得分:0)

如果有人在 2021 年 7 月遇到此问题,这是我的解决方案:

1.) 使用 CLI !!!简单多了!!! (只需执行npm install -g firebase-tools

2.) CD 到您的首选目录并执行 firebase login

3.) 登录您的 Firebase 帐户。

4.) 执行 firebase init 并完成所有步骤

5.) 在您的 app.js 文件夹中创建一个 public/ 文件

6.) 添加以下代码:

document.addEventListener('DOMContentLoaded', event => {
        const app = firebase.app();
});

现在你应该一切都好了,只要确保在 EventListener 中编写任何与 FireBase 交互的代码

您的项目应如下所示:

Image of Directory in VSCode

答案 9 :(得分:0)

我也遇到了同样的问题。问题出在我的 api.js 文件上。

const api = liveAPi;

var firebaseConfig = {
  apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  authDomain: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  projectId: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  storageBucket: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  messagingSenderId: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  appId: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  measurementId: "xxxxxxxxxxxxx"
};
  // Initialize Firebase
firebase.initializeApp(firebaseConfig);

它清楚地表明它没有访问 firebase 对象。 Firebase 建议通过 <script src="https://www.gstatic.com/firebasejs/8.7.0/firebase-app.js"> 添加 js 文件,

<!-- The core Firebase JS SDK is always required and must be listed first -->
<script src="https://www.gstatic.com/firebasejs/8.7.0/firebase-app.js"></script>

<!-- TODO: Add SDKs for Firebase products that you want to use
     https://firebase.google.com/docs/web/setup#available-libraries -->
<script src="https://www.gstatic.com/firebasejs/8.7.0/firebase-analytics.js"></script>

<script>
  // Your web app's Firebase configuration
  // For Firebase JS SDK v7.20.0 and later, measurementId is optional
  var firebaseConfig = {
    apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      authDomain: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      projectId: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      storageBucket: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      messagingSenderId: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      appId: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      measurementId: "xxxxxxxxxxxxx"
  };
  // Initialize Firebase
  firebase.initializeApp(firebaseConfig);
  firebase.analytics();
</script>

但我正在访问 js 文件中的 firebase 对象。

所以要解决这个问题:在将 api.js 文件包含在 HTML 中之前,将它们添加到 firebase 对象,如下所示:-

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

<script src="../js/fetch/api.js"></script>

这将使 api.js 能够访问 firebase 对象。

还有一些其他方法与访问 javascript 文件中的那些 firebase 对象相关,但 firebase 通过全局对象提供的默认设置是安全的。

而且,在 APP.js 中编写所有 Javascript 代码并访问 firebase 对象和方法的方法也是一个不错的选择,但对于较大的项目来说非常痛苦。由于您需要重构代码并将其捆绑/包含到一个文件 App.js 中。