2017-01-05 7 views
0

私は別の開発者からプロジェクトを選んだ。エントリポイントがserver.jsである典型的なMEANスタックを使用する。NODE JS APP:この表記は何を意味しますか?

は今、server.jsに、ないモジュール:

var express = require('express'); 
var app  = express(); 
var passport = require('passport'); 

彼らはルーティングのいくつかの並べ替えを行っているが、私は実際にどのようにそれを把握することはできませんように見えるコードの他の2行があります。意味:それは他のすべてのルーティング方法はすなわちapp.use()、アプリをオフと呼ばれているのに対し、グローバルスコープから呼び出されrequire()ように見えるので

require('./routes.js')(app, passport); 
require('./apiRequest/authenticate')(app, passport); 

は、私は混乱しています。誰かがパラメータのセットが何を意味しているのかを説明することができますか?なぜそこから2つのセットがありますか?require()はどこから呼び出されますか?

答えて

0

routes.jsおよびapiRequest/authenticateは、ここで基本的に必要とされる2つのローカル(プロジェクト)モジュール/ jsファイルです。

expressおよびpassportは、ノードモジュールの解決によってnpm_modulesから提供されるノードモジュール/ライブラリです。

appは、expressモジュール/ default関数を呼び出すことによって作成された簡易インスタンスです。

必須のローカルモジュール(ルートと認証)に渡されるパラメータは、それらのファイルでさらに使用できるモジュール(デフォルトのエクスポート関数)に渡される単なるパラメータです(routes.jsを見た場合など)現在のファイル/モジュールにモジュールをインポートするためのノードOOB機能 -

  1. require:彼らはアプリがPARAMだけでなく、パスポートモジュール)として与えられapp.use(...を、使用することを

    はより明確な構文require('./routes.js')(app, passport);を説明するために、

  2. require('./routes.js')は、この場合は関数であるroutes.jsファイルからのデフォルトのエクスポートを解決します。
  3. ...(app, passport)この機能(上記の点)は、提供されたパラメータ(ここで以前定義されています
+0

さて、ポイント3では、**この関数は、指定されたparams **を使用して呼び出されますが、任意の数のパラメータが存在する可能性がありますか?または2つしか存在しないことがあります。また、実際に関数が何をparamsにするのかはrequire()ですか? –

+0

関数は 'routes.js'ファイル(あなたが言及したコードがあるファイルと同じフォルダ内のプロジェクトファイルである必要があります)に定義されている関数です - エクスポートされた関数が定義されます。ここで呼び出される関数です。期待されるパラメタの数は、エクスポートされた関数が何回期待しているのか、何を期待しているのかによって異なります。 JS関数では静的な数の必須パラメータがないことに注意してください。一般的に慣習に基づいて、いくつのオプションを提供するかが指定されます。 –

+0

もちろんです!本当に物事をクリアするええ、仲間を応援! –

関連する問題