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()を呼び出さない場合は、現在実行中のミドルウェア処理が終わった時点で、次にまだミドルウェアが登録されていたとしても終了となります。
以上です!
雑記 早く夏休みにならないかなあ…コーディングコーディング…やりたいことはつきません… なんとか学業の方も頑張りつつ両立するようにしていこう。