2017-01-24 6 views
2

の違いは何である:app.get差()またはrouter.get() - ExpressJs

var express = new express(); 
var app = new express(); 

app.get("/", function() { 

..... 
}) 

そして:エクスプレス()は、アプリケーションで呼び出される

var express = new express(); 
var router= express.Router(); 

    router.get("/", function() { 

    ..... 
    }) 
+0

http://stackoverflow.com/questions/28305120/differences-between-express-router-and-app-getm これをチェックしてください –

答えて

7

app.getトップレベルでアプリケーションのルートを作成するために使用できます。

ドキュメント約express.Router

モジュラー、マウントルートハンドラを作成するためにexpress.Routerクラスを使用します。ルータインスタンスは完全なミドルウェアおよびルーティングシステムです。このため、しばしば「ミニアプリ」と呼ばれます。

ルータは、アプリにマウントする必要があります:

const router = express.Router(); 

router.get("/", (res, req) => res.end()); 
router.post("/", (res, req) => res.end()); 

app.use("/empty", router); 

これは、あなたがより簡単に、特定のルートの下に名前空間されるアプリにいくつかのルートの機能をカプセル化することができます。

+0

非常にクリアな!!!!!ありがとうございました – DevWeb

+0

ああこれはとても役に立ちます。 –

4

が.js、appオブジェクトが返されます。アプリケーションオブジェクトをExpressアプリケーションと考えてください。

express.Router()が呼び出されると、若干異なる「ミニアプリ」が返されます。 が返されます。 "ミニアプリ"の背後にある考え方は、 のアプリがかなり複雑になる可能性があります。 のロジックを別のファイルに移動すると便利です。

詳細はSO Threadをご確認ください。