gpt4 book ai didi

javascript - 如何导出模块中的函数?

转载 作者:行者123 更新时间:2023-11-29 10:06:44 25 4
gpt4 key购买 nike

亲爱的,我刚开始学习 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");

最佳答案

如果你想那样使用它,根本不需要构造函数:

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

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

I just started learning modules in javascript.

请注意,这与其说是“JavaScript 中的模块”,不如说是“NodeJS 中的模块”。直到 ES2015(“ES6”)才引入的 JavaScript 模块在外观和行为上都大不相同,但它们尚未得到广泛支持。如果是,您的模块可能如下所示:

// ES2015+ syntax
export default {
info: function(message) {
stdout(message);
}
};

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

...并像这样使用:

import logger from './logger.js';
logger.info("info");

关于javascript - 如何导出模块中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41910140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com