0

在 CommonJS 模块只需要返回一个函数的情况下,将它直接分配给导出对象是一种好习惯吗?(而不是将其指定为导出对象的唯一属性)

例如(虚log.js模块):

module.exports = function(text){console.log(text);}

用法:

var log = require('./log');
log('something');
4

1 回答 1

2

是的。我自己也经常使用这种做法。它也非常适合显示模块模式,例如:

module.exports = function(db) {
    return {
        get: function(id, callback) {
            // db.get(...)
        },
        save: function(obj, callback) {
            // db.save(...)
        }
    }
};

它也广泛用于连接(例如csrf 模块)和快递(例如路由)。

于 2012-03-16T12:36:36.993 回答