我希望有一个模块可以导出如下功能:

var log = require("log.js");
log("hello");       // should run console.log("hello")
log.info("world");  // should run console.log("world")


为了实现这一目标,log.js的内容是什么?我试图篡改module.exports对象,但似乎无法实现此功能。

最佳答案

function logger (data) {
    console.log(data);
}

logger.info = function (data) {
    console.log(data);
}

exports = module.exports = logger;


除了再次编写相同的功能,您还可以

logger.info = logger;


如果您想了解有关module.exportsexports的更多信息,请阅读我的this博客条目。

关于javascript - node.js模块-将对象及其属性导出为函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22268630/

10-16 21:21