0

CommonJSモジュールが1つの関数を返すだけでよい場合、それをexportsオブジェクトに直接割り当てるのは良い習慣ですか?(エクスポートオブジェクトの唯一の属性として割り当てるのとは対照的に)

例(架空の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(...)
        }
    }
};

また、connect( csrf moduleなど)やexpress(routeなど)でも広く使用されています。

于 2012-03-16T12:36:36.993 に答える