javascript - 使用新版本的 Firebase 不断收到 Uncaught TypeError
问题描述
我过去曾在几个项目中使用过 firebase,并且配置非常简单。我在使用新版本的 firebase 时遇到问题 - 并且不断收到 TypeError 提示firebase.database() is not a function
以下是我的 HTML 中正文部分底部的脚本标签:
<script src="https://www.gstatic.com/firebasejs/6.2.4/firebase-app.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<script src="assets/app.js"></script>
我的 JS 配置如下所示:
var firebaseConfig = {
apiKey: apiKey,
authDomain: authDomain,
databaseURL: dbURL,
projectId: id,
storageBucket: sb,
messagingSenderId: msid,
appId: appId
};
firebase.initializeApp(firebaseConfig);
var database = firebase.database()
问题不在配置中,因为 firebase.initializeApp 工作正常 - 但我似乎无法找到官方文档的任何更新来解释为什么 firebase.database() 似乎不再工作。
解决方案
好吧,我自己能解决这个问题......
我只导入了基本的 firebase 脚本:
<script src="https://www.gstatic.com/firebasejs/6.2.4/firebase-app.js"></script>
但我还需要导入开发的 firebase SDK 以使我能够访问实时数据库功能,因此为什么firebase.database()
不起作用。所以我不得不在上面引用的脚本之后导入一个新脚本:
<script src="https://www.gstatic.com/firebasejs/6.2.4/firebase.js"></script>
数据库功能现在似乎工作正常。
推荐阅读
- java - OpenGL 永远不会恢复到默认的 FrameBuffer
- docker - Jenkins SSH 管道步骤 - 需要终端才能读取密码
- python - 对数据框列求和会产生意外的输出
- sql - 使用 EXIST 语句仅显示存在于两个数据池中的值
- azure - 为什么我的管道在运行 webpack 时突然超时?
- python - 如何从具有另一列的一列中选择值并在 Python 中为每个用户执行此操作?
- logback - 将日志记录器字段写入 application.yaml
- android - 为什么 getAppWidgetInfo 有时会返回 null?
- python - 在python中使用twisted,如何使用多客户端UDP服务器进行语音聊天
- list - 将列表扩展为具有 n 个元素的列表列表