2017-06-28 6 views
0

私は、次のコードの構造チェーンと特急ルータ(.route)及び(に.get、.post ...など)をミックスする方法

let router = require('express').Router(); 

、後に次のように私は私のルート(複数可)を定義しました:

router 
    .route('/') 
    .get(listMiddleware); 

router 
    .route('/:id') 
    .get(getOneByIdMiddleware); 

私のコードを最適化し、次のような不要な第2のルータコール(私の視点から)を削除しようとしたとき、動作しませんでした!

router 
    .route('/') 
    .get(listMiddleware) 
    .route('/:id') 
    .get(getOneByIdMiddleware); 

は私が

TypeError: router.route(...).get(...).route is not a function 

.route()は、ルータのプロトタイプである、この例外TypeErrorを持って、私は(のようなGET、POST ...など)何らかの形でさらに連鎖のためのルータを(返す各ルータの方法を考えました実際の例では真)。

私は間違って何をしましたか?

答えて

0

実際、router.route()ルータインスタンスを返さない、それはチェーン可能.get()/.post()/...メソッドを有する経路インスタンスを返し、なく.route()

router.route()hereの実装が興味深い場合は、こちらをご覧ください。

関連する問題