-2

重複の可能性:
NodeJS module.exports の目的は何ですか?どのように使用しますか?

次のコードがあります。

var express = require('express');
var app = module.exports= express();
require('./config/environment.js')(app, express, __dirname);
require('./routes/default.js')(app, __dirname);


module.exports = function (app, express, dirname) {
....
};

module.exports = function (app, dirname) {
....
};

このコードで何が起こったのか。2 番目の文字列は、module.exports と app は同じオブジェクトですよね?

しかし、関数(...)の部分ではアプリがパラメーターとして渡され、そのコードは「オブジェクト「モジュール」にメソッド「エクスポート」を追加して2回実行するのが好きです」各関数内で使用したいいくつかの関数を追加したい( ...)、しかし、その構造で何が起こるかを理解していないため、できません。ありがとう

4

1 に答える 1

1

module.exports を 3 回割り当てているのはなぜですか? あなたのコードでは、module.exports はまず、express を呼び出すことによって返されるものと等しくなります。次に、module.exports は関数 (関数が返すものではない) と等しくなり、3 つの引数を取ります。次に、module.exports は、2 つの引数を取る最終的な関数 (これが返すものではありません) と等しくなります。したがって、コードの終わりまでに module.exports はその最終関数と等しくなります。したがって、最初の 2 つの割り当ての必要性がわかりません。app は常に module.exports を指しているため、最後に app は module.exports と等しくなります。関数を module.exports に割り当てた後、上記のコードでは実際に app を関数に渡す場所がないため、 app を引数として渡してもかまいません。

ここでコードを見逃したか、過去に使用した可能性のある他の言語に非常に混乱したと思います。

言葉がはっきりしない場合は、Douglas Crockford を調べてください。

それが役立つことを願っています。

于 2013-01-17T14:34:27.523 に答える