облачная функция javascript firebase: как исправить ошибку require is not defined

#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.