Javascript 如何在ExpressJS中定义模块或类

Javascript 如何在ExpressJS中定义模块或类,javascript,node.js,express,Javascript,Node.js,Express,我需要定义一个具有方法列表的模块/类。这些方法中的每一个都有某种服务的实例,比如Logger、promises。。。等等 我如何才能正确地做到这一点,以完成一个干净的代码 在我的代码中,我有下一个记录器定义,但是我不能添加更多的方法,因为这样做不合适 logger/ticket.js var log4js = require('log4js'); module.exports = function(){ var _getTicketLogger = function(){ var

我需要定义一个具有方法列表的模块/类。这些方法中的每一个都有某种服务的实例,比如Logger、promises。。。等等

我如何才能正确地做到这一点,以完成一个干净的代码

在我的代码中,我有下一个记录器定义,但是我不能添加更多的方法,因为这样做不合适

logger/ticket.js

var log4js = require('log4js');

module.exports = function(){

  var _getTicketLogger = function(){
    var logger = null;

    log4js.loadAppender('file');
    log4js.addAppender(log4js.appenders.file(__dirname + '/../log/ticket.log'), 'ticket-log');

    logger = log4js.getLogger('ticket-log');
    logger.setLevel('DEBUG');

    return logger;
  }

  return { getTicketLogger: _getTicketLogger };
};

您实际上可以使用exports和module.exports,以便导出方法或函数

const test=exports=module.exports={}

然后添加任意多的方法

test.method1=函数(){…}

test.method2=function(){…}
您可以实际使用exports和module.exports,以便导出方法或函数

const test=exports=module.exports={}

然后添加任意多的方法

test.method1=函数(){…}

test.method2=function(){…}
使用exports.method\u name而不是module.exports是否可以使用@BibekSubediUse exports.method_name而不是module.exports可以使用吗@比别克苏贝迪