Uncaught TypeError: firebase.storage не является функцией - PullRequest
1 голос
/ 30 сентября 2019

Я пытаюсь создать ссылку на хранилище Firebase, но получаю сообщение об ошибке: Uncaught TypeError: firebase.storage не является функцией . Как я могу решить эту проблему?

Есть похожий вопрос, где используется узел, но в моем случае я не использую узел, и, следовательно, я не знаю, решит ли ответ мою проблему. TypeError: firebase.storage не является функцией

Мой код показан ниже:

В моем 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);
    });
}

Инициализация Firebase на моей html-странице:

<!--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>

1 Ответ

0 голосов
/ 30 сентября 2019

В вашей консоли Firebase вы добавили службу хранилища и заново сгенерировали код инициализации для вставки в ваш HTML? Я вижу, что у вас добавлены сценарии firebase-app.js и firebase-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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...