web-dev-qa-db-ja.com

オブジェクトラッパーなしのNode.JSエクスポート関数

私は Node.JS request を見ていて、使用できることに気づきました

var request = require('request');
request(...)

しかし、モジュールのように何かをしようとすると、

exports = function() {}

それは動作しません。私が使用することを知っている唯一の方法は

var request = require('request').request;
request(...)

そして

exports.request = function() {}

エクスポートオブジェクトに関数を追加する代わりに、エクスポート全体を関数に設定するにはどうすればよいですか?

ソースコードのリクエスト にヒントがあるかもしれませんが、何が起こっているのか理解するのが難しいと感じています。手伝ってくれますか?

33
Bryan Field

次のように上書きする必要があります

module.exports = function() {}

exports = function() {}を記述するだけで、exportsという新しいローカル変数が作成され、module.exportsにあるexports変数が非表示になります。

58
Raynos