Expressでのミドルウェアについてメモ

記事投稿がかなり久しぶりになってしまいました。 現在大学のほうが忙しく、ブログの更新が停滞気味です…もっと頑張っていきたいと思います。

最近練習としてNode.jsのExpressを用いてTwiterを模倣しているところです。 そこでミドルウェアの概念がいまいちわからなかったのでメモします。

ミドルウェアとは

概要

let express = require('express');
let app = express();

app.use(path,function);

のように利用する’。pathにリクエストがきた際に、functionを実行する。 pathを指定しない場合は、/トップディレクトリに来たリクエストに対してfunctionを実行する。

要するにサーバになにかしらのリクエストが来た時に、functionに設定した処理を行うものみたいです。

functionの構成

function(req,res,next) {

    // なにかしらの処理
    next();
}

req : リクエスres : レスポンス next : 次のミドルウェアを呼び出す関数

ミドルウェアとして登録される関数は、登録された順番に実行されます。 その際にポイントとなってくるのがnext()です。

nextについて

next : 次のミドルウェアを呼び出す関数

以下のスクリプトを参考に考えます。

et express = require('express');
let app = express();

app.use(function1);
app.use(function2);

上記コードは/(トップディレクトリ)へのリクエストが行われた際に、ミドルウェアが実行されます。

実行順序 function1呼び出し->function2呼び出し

登録されたミドルウェアの順に順次実行さます。 なお。next()を呼び出さない場合は、現在実行中のミドルウェア処理が終わった時点で、次にまだミドルウェアが登録されていたとしても終了となります。

以上です!

雑記 早く夏休みにならないかなあ…コーディングコーディング…やりたいことはつきません… なんとか学業の方も頑張りつつ両立するようにしていこう。