CommonJSモジュールが1つの関数を返すだけでよい場合、それをexportsオブジェクトに直接割り当てるのは良い習慣ですか?(エクスポートオブジェクトの唯一の属性として割り当てるのとは対照的に)
例(架空のlog.js
モジュール):
module.exports = function(text){console.log(text);}
利用方法:
var log = require('./log');
log('something');
CommonJSモジュールが1つの関数を返すだけでよい場合、それをexportsオブジェクトに直接割り当てるのは良い習慣ですか?(エクスポートオブジェクトの唯一の属性として割り当てるのとは対照的に)
例(架空のlog.js
モジュール):
module.exports = function(text){console.log(text);}
利用方法:
var log = require('./log');
log('something');
はい。私はよくこの練習を自分で使用します。それはまた、明らかにするモジュールパターンとの相性も良いです。例:
module.exports = function(db) {
return {
get: function(id, callback) {
// db.get(...)
},
save: function(obj, callback) {
// db.save(...)
}
}
};
また、connect( csrf moduleなど)やexpress(routeなど)でも広く使用されています。