Node.js は、開発者がサーバー側で JavaScript を使用してアプリケーションを作成できるようにするオープンソースのクロスプラットフォーム JavaScript ランタイム環境です。 Node.js では、ルーティングは、リクエストを対応するハンドラーにマッピングして Web アプリケーションに正しい応答を提供するのに役立つ非常に重要な概念です。
Route は URL パーサーです。クライアントによって要求された URL をアプリケーションのルーティング テーブルと照合して、どのハンドラーが要求を処理するかを決定します。クライアント要求が Web サーバーに到達すると、サーバーは要求された URL を解析し、その URL に基づいてルーティング テーブル内の対応するルートを見つけます。一致するルートが見つかると、サーバーはリクエストを適切なハンドラーに転送して処理します。
Node.js におけるルーティングとは何かをより深く理解するために、Node.js を従来の Web 開発手法と比較してみましょう。従来の Web 開発では、クライアントのリクエストは Web サーバーによって直接処理され、応答が返されます。これは、Web サーバーが、処理する必要のないリクエストも含め、すべてのリクエストを処理する必要があることを意味します。これにより、サーバーに過度の負荷がかかる可能性があり、同時実行性が高い状況ではサーバーがクラッシュする可能性があります。
従来の Web 開発テクノロジと比較して、Node.js はより柔軟な方法でルーティングを使用するため、Web サーバーへの負荷を効果的に軽減できます。 Node.jsではリクエストの種類やURLに応じてルーティングを分類し、対応するハンドラーにリクエストを振り分けることができます。これにより、特定のリクエストを処理する必要がある場合にのみ特定のハンドラーを呼び出すことができ、サーバーの負荷が効果的に軽減されます。
Node.js では、「Express」と呼ばれる Web フレームワークを使用してルーティングを実装できます。 Express フレームワークを使用すると、ルートを定義することでリクエストの処理方法を指定できます。 Express では、ルートは HTTP メソッド (GET、POST、PUT など) とリクエストに関連付けられたパスで構成されます。 Express はリクエストを受信すると、ルーティング テーブル内のエントリに基づいて一致するルートを検索し、リクエストを適切なハンドラーに転送します。
たとえば、次は Express フレームワークを使用してルーティングを実装する例です:
const express = require('express'); const app = express(); // 为GET请求添加路由 app.get('/', function (req, res) { res.send('Hello World!'); }); // 为POST请求添加路由 app.post('/', function (req, res) { res.send('Got a POST request'); }); // 为PUT请求添加路由 app.put('/user', function (req, res) { res.send('Got a PUT request at /user'); }); // 为DELETE请求添加路由 app.delete('/user', function (req, res) { res.send('Got a DELETE request at /user'); }); // 启动服务器 app.listen(3000, function () { console.log('Example app listening on port 3000!'); });
上の例では、Express フレームワークを使用して 4 つのルートを定義し、これらのルートは処理に使用されます。 GET、POST、PUT、DELETE リクエスト。クライアントが対応するタイプのリクエストを送信すると、Express はそのリクエストを対応するハンドラーに自動的にルーティングします。
つまり、ルーティングは Node.js において非常に重要な役割を果たします。これにより、リクエストのタイプと URL に基づいてリクエストを特定のハンドラーに分散できるようになり、Web アプリケーションのパフォーマンスとスケーラビリティが向上します。 Express フレームワークを使用すると、ルーティングを簡単に実装でき、アプリケーションに豊富な機能を提供できます。
以上が.nodejsのルーティングとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。