Bu sayfada ( http://docs.nodejitsu.com/articles/getting-started/what-is-require ), "Dışa aktarma nesnesini bir işleve veya yeni bir nesneye ayarlamak istiyorsanız, module.exports nesnesini kullanın. "
Sorum neden?
// right
module.exports = function () {
console.log("hello world")
}
// wrong
exports = function () {
console.log("hello world")
}
Ben console.log sonucu ( result=require(example.js)) ve birincisi [Function]ikincisidir {}.
Bunun nedenini açıklar mısınız? Burada yazıyı okudum: Node.js'deki module.exports vs export . Yardımcı olur, ancak bu şekilde tasarlanma nedenini açıklamaz. İhracatın referansı doğrudan iade edilirse bir sorun olacak mı?
exports, örneğin github.com/tj/consolidate.js/blob/master/lib/consolidate.js ?
module.exports, yanlış asla ama kullanabilirsiniz exportssize basitçe böyle özelliklere eklerseniz, varsayılan ihraç nesneyi değiştirilmesi değilseniz: var foo = require('foo').foo. Bu fooözellik şu şekilde dışa aktarılabilir: exports.foo = ...ve tabii ki module.exports. Bu kişisel bir seçim ama şu anda module.exportsve exportsuygun şekilde kullanıyorum .
module.exports.