义齿


MiddleWarは4種類ございます


1. 3rd Party MiddleWare


app.use(bodyParser.urlencoded({ extended: false }))

app.use(compression());
同じ部分.

2. Application Level MiddleWAre


(*4つが最も重要)
app.use(bodyParser.urlencoded({ extended: false }))

app.use(compression());

app.get('*', (request, response, next) => {
  fs.readdir('./data', (error, filelist) => {
    request.list = filelist; 
    next();
app変数にはアプリケーションオブジェクトが含まれます.
オブジェクトのuse/get/postはこの方法で
middleWareは登録できます.
この登録されたミドルウェア:アプリケーション・レベルのミドルウェア
中でもApplication-levelミドルウェアが最も重要です.

2- 1. デフォルトのApplication-levelミドルウェア



app.use( (req,res,next){} );
; (req,res,next){}ミドルウェアとして登録
ミドルウェアのコアはreq,resオブジェクトを受信して変換することができる.
next()関数を受け入れ、そのミドルウェアの前のミドルウェアによって次の関数を実行するかどうかを決定します.

2- 2. ミドルウェアは特定のパスでのみ実行されます。



2- 3. パスは、メソッドがgetの場合にのみ操作されます。



2- 4. パラメータで複数の関数(コールバック関数)を追加します。


最初のコールバック関数が最初に実行されます.
next()を呼び出すと、
ぴったりしたコールバック関数を実行します.
順次運転する.

2- 4. 同じパスを持つ2つのルーティングが現れた。


2つのルーティング
1)MiddleWare×2
2)MiddleWare 1
==>コードを実行しますか?
A.最初のルーティングを順番に実行する->ミドルウェアを実行する->next()呼び出し=>次のミドルウェア呼び出し
  • next()がなければ、後のルーティングは実行されません!

  • 2- 5. 条件文は、ミドルウェアの次のミドルウェアを実行するかどうかを決定します。

  • next('route'); 次のルーティングのミドルウェアを実行します.
  • next(); パラメータのないnext;密着したミドルウェアを実行します.

  • ミドルウェアを設計すれば、アプリケーション実行プロセスを簡単に開発できます.