提问者:小点点

如何在javascript和Node.js中正确设置类和导出


我使用node.js,并在ejs中加载了js文件

main.js将被加载时,脚本将运行。 在那时,

    <script type="text/javascript" src=../javascripts/functions.js></script>
    <script type="text/javascript" src=../javascripts/quiz.js></script>
    <script type="text/javascript" src=../javascripts/main.js></script>

quiz.js中,我遇到了一些类似uncapted referenceerror:module未定义的问题

如何正确设置导出

我想正确导出quiz类。 这个问题是否来自ES6

如果有人有意见,请告诉我。

谢谢

quiz.js

class Quiz {
  
    constructor(quizData){
        this._quizzes = quizData.results;
        this._correctAnswersNum = 0;
    }
 
    getQuestion(index){
        return this._quizzes[index-1].question;
    }
    
}

module.exports = Quiz;

main.js


(()=>{
      const url = "/quiz-data";

      fetch(url)
      .then(response => response.json())
      .then(json => {
        const quiz = new Quiz(json);
        console.log("json",json);
        console.log("quiz",quiz);
        displayQuiz(quiz,1);
      });
})();


共1个答案

匿名用户

客户端不支持Node.JS样式的CommonJS模块。

如果您想在客户端使用模块,那么就编写ES6模块。

如果您只想使用共享全局变量,那么就按现在的样子编写代码,只是不使用module.exports行。