nodejsはルーティングを設定します

WBOY
リリース: 2023-05-14 10:23:07
オリジナル
1152 人が閲覧しました

フロントエンド技術の急速な発展に伴い、バックエンド開発に注目する人が増えています。 Node.js は軽量のバックエンド フレームワークとして、ますます多くの開発者に認識され、使用されています。

Node.js では、ルーティングの設定は非常に重要な部分です。ルーティングは、リクエストをどのハンドラーで処理するかを決定します。この記事では、ルーティングの設定方法について詳しく説明します。

1. Node.js をインストールする

ルーティングの設定を開始する前に、まず Node.js をインストールする必要があります。 Node.js は公式 Web サイトからダウンロードしてインストールできます。

インストールが完了したら、コマンド ラインに次のコマンドを入力して Node.js のバージョンを確認します:

node -v
ログイン後にコピー

2.server.js ファイルを作成します

Node.js では、サーバーを起動してルーティングを設定するために、server.js ファイルを作成する必要があります。このファイルでは、http モジュールを導入し、サーバー インスタンスを作成する必要があります。

以下は基本的な server.js ファイルです:

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello, World!
');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});
ログイン後にコピー

上記のファイルでは、サーバー インスタンスを作成し、サーバーの IP アドレスとポート番号を設定しました。また、リクエストが来たときに「Hello, World!」レスポンスを送信する処理機能をこのサーバーに追加しました。

コマンド ラインで次のコマンドを使用してサーバーを起動できます:

node server.js
ログイン後にコピー

3. ルーティングの設定

ルーティングを設定する主な目的は、サーバーに要求されたパスに従って、対応するハンドラーを呼び出すことができます。

この目的を達成するには、ルーティング テーブルを定義する必要があります。ルーティング テーブルは、キーがリクエストのパス、値がハンドラー関数であるオブジェクトです。

次は、単純なルーティング テーブルです:

const routes = {
  '/': homeHandler,
  '/about': aboutHandler,
  '/contact': contactHandler
};
ログイン後にコピー

このルーティング テーブルでは、「/」、「/about」、「/contact」の 3 つのパスを定義します。各パスはハンドラー関数に関連付けられています。

次に、ハンドラーを定義する必要があります。ハンドラーは、さまざまなリクエストを処理する関数です。たとえば、ハンドラーは HTML ページの送信、データベースの読み取り、または API の呼び出しを行うことができます。

以下は単純なハンドラーです:

const homeHandler = (req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/html');
  res.end('<h1>Welcome to my homepage!</h1>');
};

const aboutHandler = (req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/html');
  res.end('<h1>About me</h1><p>I am a Node.js developer.</p>');
};

const contactHandler = (req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/html');
  res.end('<h1>Contact me</h1><p>You can contact me at nodejs@example.com.</p>');
};
ログイン後にコピー

各ハンドラーは、リクエストが到着したときにリクエストが正しく処理できるように、HTTP ステータス コード、応答ヘッダー、および応答本文を設定します。

次に、ルーティング テーブルをハンドラーに接続する必要があります。サーバ作成機能にルーティング機能を追加し、ルーティング処理を実装できます。

以下は完全なルート処理コードです:

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const routes = {
  '/': homeHandler,
  '/about': aboutHandler,
  '/contact': contactHandler
};

const homeHandler = (req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/html');
  res.end('<h1>Welcome to my homepage!</h1>');
};

const aboutHandler = (req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/html');
  res.end('<h1>About me</h1><p>I am a Node.js developer.</p>');
};

const contactHandler = (req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/html');
  res.end('<h1>Contact me</h1><p>You can contact me at nodejs@example.com.</p>');
};

const server = http.createServer((req, res) => {
  const url = req.url;
  if (routes[url]) {
    routes[url](req, res);
  } else {
    res.statusCode = 404;
    res.setHeader('Content-Type', 'text/plain');
    res.end('404 - Not found');
  }
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});
ログイン後にコピー

このコードでは、ルーティング テーブルとハンドラーを接続します。リクエストが到着すると、リクエストのパスをルーティング テーブルと照合します。一致が成功した場合は、適切なハンドラーを呼び出します。一致しない場合は、応答として 404 エラーが送信されます。

4. 概要

Node.js では、ルーティングの設定は非常に重要な部分です。ルーティングは、リクエストをどのハンドラーで処理するかを決定する重要な要素です。

この記事では、ルーティングの設定方法について詳しく説明します。この記事を読むことで、読者はサーバーの作成方法、ルーティング テーブルとハンドラーの定義方法、およびそれらの接続方法を理解できます。

Node.js は、柔軟で習得しやすいバックエンド フレームワークとして、開発効率と開発者のスキル レベルの向上に大きく役立ちます。

以上がnodejsはルーティングを設定しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!