【问题标题】:Uncaught TypeError: firebase.storage is not a function未捕获的类型错误:firebase.storage 不是函数
【发布时间】:2019-09-30 12:49:03
【问题描述】:

我正在尝试创建对我的 firebase 存储的引用,但出现错误:未捕获的 TypeError:firebase.storage 不是函数。 我该如何解决这个问题?

在使用节点的地方有一个类似的问题,但在我的情况下,我没有使用节点,因此我不知道答案是否能解决我的问题。TypeError: firebase.storage is not a function

我的代码如下所示:

在我的 app.js 中:

console.log("Initialisation Successful!");
var db = firebase.firestore();
var storage = firebase.storage();
var storageRef = storage.ref();
var imagesRef = storageRef.child('Images');


function addExerise(){
    var exerciseName = document.getElementById("ename").value;
    var exercisePart = document.getElementById("body_part").value;
    var exerciseLevel = document.getElementById("elevel").value;
    var file = document.getElementById("eimage");
    console.log(file);

    file.addEventListener('change', function(evt) {
      let imageFile = evt.target.files[0] // upload the first file only
      let uploadTask = imagesRef.put(imageFile)
  })



    /*var file = storageRef.child(file.name);
    ref.put(file).then(function(snapshot) {
         alert("File Uploaded")
         console.log('Uploaded a blob or file!');
      });*/


    db.collection("Exercises").add({
        Name: exerciseName,
        bodyPart: exercisePart,
        Level: exerciseLevel,
        //image: file

    })
    .then(function(){
        console.log("Data entered successfully!");
    })
    .catch(function(error){
        console.error("Error!", error);
    });
}

我的 html 页面中的 Firebase 初始化:

<!--Firebase-->
            <script src="https://www.gstatic.com/firebasejs/7.0.0/firebase-app.js"></script>
            <script src="https://www.gstatic.com/firebasejs/7.0.0/firebase-firestore.js"></script>

            <script>
                var firebaseConfig = {
                    apiKey: "############################",
                    authDomain: "########.firebaseapp.com",
                    databaseURL: "###########.firebaseio.com",
                    projectId: "#############",
                    storageBucket: "gs://##########.appspot.com",
                    messagingSenderId: "##############",
                    appId: "###############################"
                  };
                // Initialize Firebase
                firebase.initializeApp(firebaseConfig);
            </script>
            <script src="app.js"></script>
        <!--/Firebase-->

已解决:

在我的 html 中添加了以下行。

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

【问题讨论】:

标签: javascript html firebase firebase-storage


【解决方案1】:

在您的 Firebase 控制台中,您是否添加了存储服务并重新生成了初始化代码以放入您的 HTML 中?我看到您添加了 firebase-app.jsfirebase-firestore.js 脚本,但看起来您没有用于存储的脚本。也许添加该服务并将相关脚本添加到您的 HTML 将解决问题。

编辑: 添加firebase-storage.js 将解决此问题:

console.log(firebase.storage);
<script src="https://www.gstatic.com/firebasejs/7.0.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.0.0/firebase-storage.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.0.0/firebase-firestore.js"></script>

【讨论】:

  • 您好,是的,我添加了存储服务,但它没有出现在我的初始化代码中。
  • @RoopanJaulin 对不起,我的错误。如果您进入 Firebase 控制台,请转到您的项目,然后单击左侧的 Storage。您应该能够为您的项目设置存储服务,它会为您提供有关如何启用该服务的说明,包括如何创建firebase.storage() 函数。
  • 是的,firebase-storage.gs 根据您和 shrys 的回答解决了这个问题。
猜你喜欢
  • 2017-05-12
  • 1970-01-01
  • 1970-01-01
  • 2022-11-19
  • 1970-01-01
  • 2019-06-06
  • 2019-05-24
  • 2021-12-15
  • 2019-10-26
相关资源
最近更新 更多