gpt4 book ai didi

javascript - “Firebase 未定义”Firebase 版本 9 的答案

转载 作者:行者123 更新时间:2023-12-02 01:55:58 25 4
gpt4 key购买 nike

我正在尝试进行数据库调用/发布,但收到错误

functions.js:7 Uncaught ReferenceError: firebase is not defined

根据我的研究,我了解到“firebase”是在 firebase.js 脚本文件中定义的,该脚本文件是使用 CDN 代码从 Firebase 的设置面板导入的。但我找到的所有帮助页面都是 2014-2017 年的,Firebase 9 版本使用完全不同的导入语言。这些页面对我没有帮助。

我正在使用标准

import { initializeApp } from "https://www.gstatic.com/firebasejs/9.1.3/firebase-app.js";

我的想法是否正确,因为这种导入正在发生(而且它看起来是 - firebase-app.js 显示在检查器中)应该定义 firebase...

或者 firebase 是在其他地方定义的,而我缺少一些东西吗?如果是这种情况,firebase 定义在哪里以及如何导入它(使用 V9 Firebase)

谢谢

编辑:我是通过在 Youtube 上找到的教程来完成这一切的,它是 2019 年的。现在调用“firebase”是否可能已经过时了,这就是我遇到的这些麻烦?或者我应该期望它能够工作并继续努力寻找解决方案?

最佳答案

在 Firebase Web SDK v8 及更早版本(现在称为“命名空间 SDK”)中,SDK 会将方法和类型添加到名为 firebase 的全局对象中。您将看到许多现有教程,其代码类似于 firebase.initializeApp()firebase.database()firebase.firestore.FieldValue.increment( )。所有这些调用都无法在较新版本的 Firebase Web SDK 中运行。

在 Firebase Web SDK v9 及更高版本(现在称为“模块化 SDK”)中,SDK 进行了重大架构改造并引入了许多重大更改。新版本的主要变化是 firebase 全局对象被完全删除,每个方法和类型现在都是独立导出的。当将此新 SDK 与 Webpack 或 Rollup 等构建工具一起使用时,它可以“摇动树”以松开并删除最终构建中代码中实际未使用的所有代码位。

举个例子,如果您在代码中不使用任何 FieldValue 转换(例如 increment()serverTimestamp()arrayUnion( )) 它们不会包含在您的最终版本中,从而节省您和您的用户的资源和时间。

关于javascript - “Firebase 未定义”Firebase 版本 9 的答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69594428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com