#javascript #firebase
#javascript #firebase
Вопрос:
Я просто решил попробовать новый firebase SDK для JavaScript, но я продолжаю получать эту ошибку в своей консоли, любая помощь или совет приветствуются
Код:
<script src="https://www.gstatic.com/firebasejs/7.21.1/firebase-app.js"></script>
<!-- TODO: Add SDKs for Firebase products that you want to use
https://firebase.google.com/docs/web/setup#available-libraries -->
<script src="https://www.gstatic.com/firebasejs/7.21.1/firebase-analytics.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.21.1/firebase-firestore.js"></script>
<!--<script src="https://www.gstatic.com/firebasejs/7.21.1/firebase-storage.js"></script> -->
<script>
// Your web app's Firebase configuration
// For Firebase JS SDK v7.20.0 and later, measurementId is optional
var firebaseConfig = {
<!-- Not necessary-->
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
firebase.analytics();
//var db = app.firestore();
</script>
<script>
function sendMessageToServer(msg) {
var object = {
value: msg
};
firebase.firestore().collection("Deskop").doc().set(object)
.then(function() {
adder.print("Data saved successfully");
})
.catch(function(err) {
adder.print("Error writing document: " err);
});
}
</script>
Ошибка:
SCRIPT5009: 'firebase' is undefined
fire.html (34,5)
Я перепробовал все и убедился, что следовал инструкциям в консоли firebase, но все та же ошибка
Комментарии:
1. Это
firebase- app.js
опечатка? Другая проблема заключается в том, что ваш код может быть запущен до завершения загрузки скриптов.2.
<script src="https://www.gstatic.com/firebasejs/7.21.1/firebase- app.js"></script>
должно быть 404, поскольку на этом URL-адресе нет скрипта.3. попробуйте добавить отложенную загрузку для всех сценариев firebase
4. Я пробовал это, но все равно произошло то же самое
Ответ №1:
На днях я столкнулся с подобной проблемой. Вот решение, которое я нашел:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Application 2020</title>
<link rel="icon" type="image/png" href="../static/favicon.ico" />
<link href="../static/css/site.css" type="text/css" rel="stylesheet" />
</head>
<body>
<div class="container" id="container"></div>
<script src="https://www.gstatic.com/firebasejs/7.21.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.21.1/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.21.1/firebase-firestore.js"></script>
<script defer type="module" src="./App.js"></script>
</body>
</html>
Загрузите скрипты в конце, отложите запуск js.
Затем оттуда: firebase.initializeApp(firebaseConfig);
Комментарии:
1. Я пробовал это, но все еще не работает ни с одним другим предложением
2.
npm init
;npm i http-server --save
;"scripts": { "start": "http-server -o --cors" }
вpackage.json
? Вы пробовали это? Кроме того, это был единственный обходной путь, который сработал для меня, с отсрочкой запуска js-файла модуля следующим образом:export default (() => { /* firebase init here */ })();