#javascript #firebase #google-cloud-functions
#javascript #firebase #google-cloud-функции
Вопрос:
Я пытаюсь вызвать функции firebase со стороны клиента, используя их руководство, но я продолжаю получать сообщение об ошибке require is not defined . Я понимаю, что require чаще всего используется для серверного приложения nodejs, но как это можно решить на стороне клиента. Должен быть способ, если он указан в руководстве по firebase.
Ошибка неперехваченной ссылки: require не определен
вот мой main.js файл
const firebase = require("firebase");
// Required for side-effects
require("firebase/functions");
checkout()
function checkout(){
var randomNumber = firebase.functions().httpsCallable('randomNumber');
randomNumber({text: messageText}).then(function(result) {
// Read result of the Cloud Function.
var sanitizedMessage = result.data.text;
console.log(sanitizedMessage)
}).catch(function(error) {
// Getting the Error details.
var code = error.code;
var message = error.message;
var details = error.details;
console.log(message)
// ...
})
}
main.html file
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body >
<div class="jumbotron text-center">
<h1>My First Bootstrap Page</h1>
<p>Resize this responsive page to see the effect!</p>
</div>
<script src="https://www.gstatic.com/firebasejs/8.0.2/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.0.2/firebase-functions.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.0.2/firebase-analytics.js"></script>
<script type="text/javascript">
<script type="text/javascript">
var firebaseConfig = {
apiKey: "41414414I",
authDomain: "414444.firebaseapp.com",
databaseURL: "https://414144.firebaseio.com",
projectId: "414-c4cc",
storageBucket: "4144-cc4cc.appspot.com",
messagingSenderId: "414542",
appId: "1:41:web:31415425",
measurementId: "G-542g542"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
firebase.analytics();
// Initialize Cloud Functions through Firebase
var functions = firebase.functions();
</script>
<script>
</script>
<script src="main.js"></script>
</body>
</html>
Как я могу исправить ошибку require is not defined и вызвать функцию firebase со стороны клиента?
Ответ №1:
Поскольку вы уже добавили сценарии Firebase в свой HTML, вам не нужно использовать require для их повторного добавления. Кроме того, require работает только в таких средах, как nodejs или связыватели модулей, которые вы здесь не используете.
Просто удалите require и начните использовать уже добавленные пакеты SDK Fireabse.