首页 > 解决方案 > 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) {

}

标签: javascriptfirebasegoogle-cloud-firestorefirebase-storage

解决方案


您需要包含 firebase 存储 api。

您可以通过在导入firebase-app脚本后添加此行来执行此操作:

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

您可以在此代码沙箱中看到一个演示:https ://codesandbox.io/s/vqy01k5175


推荐阅读