我正在尝试创建对我的 firebase 存储的引用,但收到错误:未捕获的类型错误: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>
最佳答案
在您的 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>
关于javascript - 未捕获的 TypeError : firebase. 存储不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58168280/