nodejsのミドルウェア

1624 ワード

中間部品はよく分かりませんでした.本を探して翻訳しました.ちょっと分かりました.
//app.use(function(req,res){
//  console.log('     ,   http        ,     next');
//})
app.use(function(req,res,next){
    console.log('');
    res.send('    ,         ');
    next();
});
app.get('/add',function(req,res){
    console.log('get add');
    res.send('           ,                 ');
})
中間部品というのはルートであり、http要求を全部処理できるルートです.
1.ルーティングプロセッサapp.get/app.postなどは、一般に総称してap.VRBと呼ばれ、特定のhttp述語(GET,POSTなど)のみを扱う中間部品として扱われてもよく、use中間部品は、http要求全てを処理することができるルーティングプロセッサとして機能することができる.
2.ルーティングプロセッサの最初のパラメータはパスである必要があります.ルートをすべてのパスに整合させるためには、/*.ミドルウェアも経路を最初のパラメータとして使用することができますが、それはオプションです.このパラメータを無視すると、すべてのパスに一致します.
3.ルーティングプロセッサと中間部品のパラメータにはフィードバックがあり、2つのパラメータがある場合は(req,res)です.3つのパラメータがある場合は、(req,res,next)です.4つのパラメータがある場合は、(err,req,res,next)です.
4.next.中間部品のコールバックでnext()を呼び出したら.プログラムは引き続き次の適切なルーティングプロセッサと整合します.中間部品でnext()を起動しないと中間部品は処理が終わった後に終了され、対応するルーティングプロセッサとマッチングしないので、クライアントに応答して送信します.そうでなければ、ゲスト端末は最終的なタイムアウトになります.
5.中間部品のコール中にnext();クライアントに応答して送信するべきではないです.応答を送信した後、中間またはルータは引き続きマッチングして実行しますが、それらが送信する応答は無視されます.