javascript - firebase.storage() 不是 JavaScript 中的函数
问题描述
我是 web 开发和 firebase 的新手,我出现了一个错误。我一直无法解决它,所以来这里寻求帮助。
显示的错误是firebase.storage() is not a function
。看来我的电脑中的火库设置不正确。但是,我按照从谷歌网站本身下载的说明进行操作,并没有改变任何事情。
我在 Stack Overflow 上看到了其他一些关于此的问题,但他们使用 node 或 react,这不是我的情况。有人可以给我一个提示吗?
我知道它没有详细解释,因为正如我之前所说,我不是专家。请全面,我会更好地提出我的问题。
我创建的代码如下。第一个块是.html文件的子集。另一个是我的.js 文件的主体
<!-- Firebase App is always required and must be first -->
<script src="https://www.gstatic.com/firebasejs/5.9.1/firebase-app.js"></script>
<!-- Add additional services that you want to use -->
<script src="https://www.gstatic.com/firebasejs/5.9.1/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.9.1/firebase-database.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.9.1/firebase-firestore.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.9.1/firebase-messaging.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.9.1/firebase-functions.js"></script>
<!-- Inicializa o firebase -->
<script>
var config = {
apiKey: "..",
authDomain: "..",
databaseURL: "..",
projectId: "..",
storageBucket: "..",
messagingSenderId: "..",
appId: ".."
};
firebase.initializeApp(config);
</script>
<!-- Nosso app -->
<script src="./app.js"></script>
var fileInput = document.getElementById('file-input');
var stringInput = document.getElementById('string-input');
var ref = firebase.storage();
fileInput.onchange = function (event) {
}
stringInput.onchange = function (event) {
}
解决方案
您需要包含 firebase 存储 api。
您可以通过在导入firebase-app
脚本后添加此行来执行此操作:
<script src="https://www.gstatic.com/firebasejs/5.9.1/firebase-storage.js"></script>
您可以在此代码沙箱中看到一个演示:https ://codesandbox.io/s/vqy01k5175
推荐阅读
- reactjs - 在反应中获得具有确切所有者的行
- docker - 在 CentOS 中部署 docker 容器时 DNS 无法解析
- docker - 将 .net core v2.1.13 升级到 v2.1.16 后,docker 上的 IdentityServer4 在 chrome 中不起作用
- keycloak - 如何使用 curl 增加 keycload 承载访问令牌时间?
- css - 在 UL 之后如何定义底部边距?
- node.js - 如何在带有自定义配置界面的打字稿中使用 node-config?
- markdown - 将多个章节拼接在一起,每个章节都有一个 % 标题
- c# - C#:为什么字符串和列表不支持序列化?
- reactjs - 在 componentDidMount 中模拟 API 调用方法
- scala - Flink AssignerWithPeriodicWatermarks getCurrentWatermark 永远不会被调用