2016-05-26 9 views
-1

nodeJSで要求モジュールを使用するのは非常に混乱します。私はこのモジュールを必要とする多くのマナーについて、以下の基礎を理解することができません。NodeJSで異なるモジュールの方法が必要

このスニペットは正しいですが、なぜこのようにするのですか?例えば

var express = require('express'), 
    app = express(), 
    router = express.Router(), 
    assert = require('assert'), 
    MongoClient = require('mongodb').MongoClient; 

それはapp変数で直接宣言することはできませんなぜ、assertは、あまりにも方法やexpressを持っているので?

var app = require('express'); // like assert = require('assert') 

...そして、私はrouter宣言のと同じ方法で行うことができないWhay MongoClient、どうですか?あなたの最初の例

var mongo = require('mongodb'), 
    MongoClient = mongo.MongoClient(); 
+2

'app'!==' express' ...のため –

答えて

2

app = express()app = expressに完全に異なっていることに注意してください。前者は関数呼び出しの結果を割り当てますが、後者は機能しない提案に相当します。あなたは本当に繰り返しのような場合は、次んでしたが、その後、あなたはexpressモジュールへの参照を持っていません。

var app = require('express')(), 
    router = require('express').Router() 

あなたの第二の例では、再びあなたはの割り当てと機能の割り当てを混乱させています関数呼び出しの結果。正しい(しかし、不必要な余分なラインを持つ)選択肢は次のようになります。

要するに
var mongo = require('mongodb'), 
    MongoClient = mongo.MongoClient 

モジュールを必要とする唯一の方法があります - require('nameOrPath')は - 他のすべてのモジュールシステムとは無関係です。

関連する問題