Koajs-cascading
Koa.js-カスケード
ミドルウェア関数は、コンテキストオブジェクト*およびアプリケーションの要求/応答サイクルの次のミドルウェア関数にアクセスできる関数です。 これらの関数は、リクエストボディの解析、レスポンスヘッダーの追加などのタスクのリクエストおよびレスポンスオブジェクトを変更するために使用されます。 Koaはさらに一歩進んで *'downstream' を生成し、コントロールを 'upstream' に戻します。 この効果は「カスケード」と呼ばれます。
以下は、実行中のミドルウェア関数の簡単な例です。
上記のミドルウェアは、サーバー上のすべての要求に対して呼び出されます。 したがって、すべてのリクエストの後に、コンソールに次のメッセージが表示されます。
特定のルート(およびそのすべてのサブルート)に制限するには、ルーティングで行ったようにルートを作成するだけです。 実際、これらのミドルウェアはリクエストを処理するだけです。
例えば、
これで、 '/request’のサブルートを要求するたびに、時間を記録します。
ミドルウェア呼び出しの順序
Koaのミドルウェアに関する最も重要なことの1つは、ミドルウェアがファイルに書き込まれる/ファイルに含まれる順序が、ダウンストリームで実行される順序であることです。 ミドルウェアでyieldステートメントに到達するとすぐに、最後に到達するまで、次のミドルウェアに順番に切り替わります。 それから再び、yieldステートメントから関数の再開と再開を開始します。
たとえば、次のコードスニペットでは、最初の関数が最初にyieldまで実行され、次に2番目のミドルウェアがyieldまで実行され、次に3番目が実行されます。 ここにミドルウェアはもうないので、逆に、つまり3番目、2番目、1番目の順序で実行を開始します。 この例では、ミアウェアをKoaの方法で使用する方法をまとめています。
このコードを実行した後に「/」にアクセスすると、コンソールで次のようになります-
次の図は、上記の例で実際に起こっていることを要約しています。
独自のミドルウェアの作成方法がわかったので、最も一般的に使用されるコミュニティ作成ミドルウェアのいくつかについて説明しましょう。
サードパーティのミドルウェア
Express用のサードパーティミドルウェアのリストはhttps://github.com/koajs/koa/wiki[here。]で入手できます。以下は、最も一般的に使用されるミドルウェアの一部です-
- コアボディパーサー
- コアルーター
- コアスタティック
- コア圧縮
後続の章で複数のミドルウェアについて説明します。