如何导出模块中的功能?

汉高

亲爱的所有我刚刚开始学习javascript模块。这是我对模块的实现:

module.exports = function(logger_level) {
    this.info = function(message) {
        stdout(message);
    };
};

function stdout(message)
{
    process.stdout.write(message+'\n');
}

我必须像这样调用它:

var logger = require('./js/logger.js');
var logger1 = new logger("info1");

logger1.info("info");

我的问题是如何更改模块的实现,以便可以这样调用它:

var logger = require('./js/logger.js')("info");
logger.info("info");
巴托斯·宾斯基(BartoszGuestński)

您正在寻找工厂功能将其应用于您的用例看起来像:

module.exports = function(logger_level) {
    return {
        info: function(message) {
            stdout(message);
        }
    };
};

function stdout(message)
{
    process.stdout.write(message+'\n');
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章