このページ(http://docs.nodejitsu.com/articles/getting-started/what-is-require)には、「exportsオブジェクトを関数または新しいオブジェクトに設定する場合は、 module.exportsオブジェクトを使用してください。」
私の質問はその理由です。
// right
module.exports = function () {
  console.log("hello world")
}
// wrong
exports = function () {
  console.log("hello world")
}私はconsole.logに結果(result=require(example.js))を記録し、最初の結果[Function]は2番目の結果です{}。
その理由を教えてください。Node.jsでのmodule.exportsとexportsの投稿をここで読みました。それは役に立ちますが、そのように設計されている理由を説明していません。輸出の参照を直接返すと問題はありますか?
exportsなどを使用するのですか?
                module.exports、決して間違いexportsはありませんが、デフォルトのエクスポートされたオブジェクトを置き換えない場合、つまり、次のようなプロパティを単にアタッチする場合に使用できますvar foo = require('foo').foo。このfooプロパティは次のようにエクスポートできます。exports.foo = ...もちろん、でもエクスポートできますmodule.exports。それは個人的な選択ですが、私は現在適切に使用module.exportsしていexportsます。
                
module.exports。