Routing および は middleware 、Node.js および Web アプリケーションを構築するためのフレームワークにおける 2 つの重要な概念です Express。
Routing:
- Routing クライアントからのリクエストを処理し、サーバー上の対応するリソースで応答する方法を決定するプロセスです。
- では Express 、HTTP メソッド(GET、POST、PUT、DELETE など) と対応する URL パスを指定することでルートを定義できます。
- 各ルートには、リクエストの処理、データベース アクセス、クライアントへの応答の送信などのタスクを実行する 1 つ以上のハンドラー関数を含めることができます。
Middleware:
- Middleware リクエストが最終ルート ハンドラーに到達する前にシーケンスで実行される関数です。
- これらは、一般的な機能を実行し、認証、ロギング、エラー処理などの中間タスクを処理するために使用されます。
- Middleware アプリケーション全体に適用することも、特定のルートに指定することもできます。
- それぞれが middleware req(リクエスト) パラメータと res(レスポンス) パラメータを受け取り、処理を実行したり、リクエストを次の に渡したり middleware 、クライアントに応答を送信して処理を終了したりできます。
Routing と Middleware を 組み合わせた例 Express:
const express = require('express');
const app = express();
// Middleware
const loggerMiddleware =(req, res, next) => {
console.log('A new request has arrived!');
next();
};
// Apply middleware to the entire application
app.use(loggerMiddleware);
// Main route
app.get('/',(req, res) => {
res.send('Welcome to the homepage!');
});
// Another route
app.get('/about',(req, res) => {
res.send('This is the about page!');
});
// Start the server
app.listen(3000,() => {
console.log('Server is listening on port 3000...');
});
この例では、サーバーに届くすべての新しいリクエストをログに記録する カスタムを定義しました。 これは、メソッド を使用するアプリケーション全体に適用されます 。 次に、メイン ページ( ) 用とアバウト ページ( ) 用の 2 つのルートを定義しました。 最後に、サーバーを起動し、ポート 3000 でリッスンします。 middleware loggerMiddleware
middleware app.use()
'/'
'/about'
はリクエストごとに実行され、リクエストを対応するルート ハンドラーに渡す前に、または 順番に メッセージをコンソールに記録します。 middleware loggerMiddleware
middleware
この routing との組み合わせにより middleware 、さまざまなリクエストを処理し、アプリケーションで共通のタスクを効率的に実行できるようになります Express。