【问题标题】:Unable to connect to Firebase(JS)无法连接到 Firebase(JS)
【发布时间】:2020-04-05 13:10:05
【问题描述】:

我正在尝试将我的网络应用程序连接到 firebase,并且我正在按照官方文档中的说明进行操作,似乎连接已建立,因为我在控制台中没有看到任何错误,但我无法编写数据到数据库

HTML:

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

      <script src="main.js"></script>

JS:

submitBtn.onclick = function () {
var firebaseConfig = {
    apiKey: "-------------",
    authDomain: "--------------",
    databaseURL: "------------",
    projectId: "----------",
    storageBucket: "--------",
    messagingSenderId: "---------------",
    appId: "---------------"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
console.log(firebaseConfig);

var database = firebase.database();
var ref = database.ref("myTickets");
var data = {
    name: "First User",
    score: 43
}

ref.push(data)
}

目前我对要添加的数据进行了硬编码,单击按钮后它应该会更新数据库中的数据,但有时我会收到“main.js:33 Uncaught TypeError: firebase.database is not一个函数”

我尝试将 gstatic 链接更改为 firebase.js,但仍然出现相同的错误。

我在这里做错了什么?

【问题讨论】:

    标签: javascript firebase firebase-realtime-database


    【解决方案1】:

    添加firebase database脚本也可以使用database()

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

    您可以在此处找到要添加的 Firebase 产品的完整列表:

    https://firebase.google.com/docs/web/setup#libraries-cdn

    【讨论】:

    • 嗨,我这样做了,但我现在收到以下错误错误 .ts:101 Uncaught FirebaseError: Firebase: Firebase App named '[DEFAULT]' already exists (app/duplicate-app)。我没有任何重复的应用程序
    • 你正在初始化两次firebase.initializeApp(firebaseConfig);
    【解决方案2】:

    正如您在doc 中看到的,添加 Firebase SDK 的方法有两种:

    1。包含整个 Firebase JavaScript SDK

    不建议用于生产应用程序

      <body>
        <!-- Insert this script at the bottom of the HTML, but before you use any Firebase services -->
    
        <!-- Add the entire Firebase JavaScript SDK -->
        <script src="https://www.gstatic.com/firebasejs/7.5.2/firebase.js"></script>
      </body>
    

    2。仅包含特定的 Firebase 产品

    <body>
      <!-- Insert these scripts at the bottom of the HTML, but before you use any Firebase services -->
    
      <!-- Firebase App (the core Firebase SDK) is always required and must be listed first -->
      <script src="https://www.gstatic.com/firebasejs/7.5.2/firebase-app.js"></script>
    
      <!-- Add Firebase products that you want to use -->
      <script src="https://www.gstatic.com/firebasejs/7.5.2/firebase-auth.js"></script>
      <script src="https://www.gstatic.com/firebasejs/7.5.2/firebase-database.js"></script>
    </body>
    

    【讨论】:

    • 我收到此错误:WebSocketConnection.ts:366 WebSocket connection to 'wss://s-usc1c-nss-249.firebaseio.com/.ws?v=5&s=uINs4cd9gP7ctZeaReP6SUlD27ppimNb&ns=system1- a64ba' 失败:WebSocket 在建立连接之前关闭。
    【解决方案3】:

    请参阅this 链接,其中包含与同一问题相关的讨论。看起来你错过了添加一些 firebase 库(虽然我还没有测试过你的代码)

    此外,您不应在 stackoverflow 或任何公共网站上发布您的 API 密钥。人们可能会滥用您的 API 密钥。您应该立即更改它们。

    【讨论】:

      猜你喜欢
      • 2019-03-01
      • 2018-12-09
      • 1970-01-01
      • 2021-10-06
      • 1970-01-01
      • 2013-07-08
      • 2020-08-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多