Node.JS_ middleware


Node.JS_ middleware


ミドルウェア関数とは、リクエスト応答サイクルにおいてreq、res、およびアプリケーションの次のミドルウェア関数に権限を持つ関数です.
簡単に言えば、アプリケーションの要求と応答の間に、または要求の前または応答の後に他のタスクを追加することができます.
(デフォルトではHANDLERもミドルウェア関数)
次の写真はexpressの公式ドキュメントのミドルウェア関数呼び出しの要素です.
(出典:https://expressjs.com/)

1.グローバル空間におけるミドルウェア関数の呼び出し

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

const myLogger = function (req, res, next) {
 console.log('LOGGED');
 next();
};

app.use(myLogger);

app.get('/', function (req, res) {
 res.send('Hello World!');
});

app.listen(3000);
->middleware関数がすべてのルータの上にある場合は、要求を受信するたびにミドルウェアが実行されます.
-> Node.jsは上から下へ左から右へ実行します.
->ミドルウェアの呼び出し順序に常に注意してください.

2.特定のルータ上のミドルウェア関数を呼び出す

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

const requestTime = function (req, res, next) {
 req.requestTime = Date.now();
 next();
};

app.use(requestTime);

app.get('/', function (req, res) {
 const responseText = 'Hello World!';
 responseText += 'Requested at: ' + req.requestTime + '';
 res.send(responseText);
});

app.listen(3000);
->特定のルータに関数を追加できます.
->切断されたルータからミドルウェアを呼び出す場合は、そのルータ内でのみ呼び出されます.