node.js modules - 将对象及其属性导出为函数

时间:2014-03-08 11:23:03

标签: javascript node.js

我想要一个导出这样功能的模块:

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

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

2 个答案:

答案 0 :(得分:4)

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

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

exports = module.exports = logger;

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

logger.info = logger;

如果您有兴趣了解有关module.exportsexports的更多信息,请阅读我的this博客文章。

答案 1 :(得分:0)

exports.log = function(msg) { 
    console.log(msg);
}
exports.info = function(msg) {
    console.log(msg);
}

另一种方法。