NodeJS入門【簡単解説】

Susan Sarandon
Susan Sarandonオリジナル
2024-11-22 21:28:24291ブラウズ

Introduction to NodeJS [Simple Explanation]

NodeJSとは何ですか?

  • オープンソースおよびクロスプラットフォームの Javascript ランタイム環境。
  • JavaScript V8 エンジン (Google Chrome のコア) で実行されます
  • シングルスレッドで非同期プログラミングを使用します。

NodeJS がシングルスレッドの場合、複数のリクエストはどのように処理されるのでしょうか?

シェフが 1 人しかいないレストランに行くと想像してください。ウェイターにパスタを注文します。ウェイターはシェフに注文や他の顧客の注文を伝えます。シェフはパスタの注文を受け取りますが、パスタを茹でるのに時間がかかることに気づきました。パスタが調理されるのを待つ代わりに、パスタをコンロで沸騰させ、その間に他の注文の処理を開始します/

NodeJS も同様に動作します。
Chef = Node.js のメイン スレッド (Node.js はメイン スレッドで一度に 1 つのことしか実行できません)

ウェイター = イベント ループ (イベント ループは受信リクエストを受け取り、それらの処理方法を決定します)

キッチン ヘルパー = ワーカー スレッドまたは OS バックグラウンド プロセス (Node.js が作業をヘルパーに委任します)

たとえば、I/O 操作では、Web サーバーがファイルからコンテンツをフェッチするように要求されると、NodeJS は単にその作業を OS のファイル システムに委任し、後続の要求を処理する準備を整えます。ファイル システムが応答すると、それが処理されます。

他のバックエンド アプリケーションではなく NodeJS を選択する必要があるのはなぜですか?

  • スタック全体で同じ言語: ほとんどのフロントエンド開発では、Angular、React、Vue などの JS フレームワークが使用されます。バックエンド アプリケーションが Javascript で記述されていれば、大きな利点になります。フルスタック開発者は、バックエンド開発のために新しい言語を学ぶ必要はありません。

  • マイクロサービスベースのアーキテクチャに最適: NodeJS のシングルスレッド イベント ループ アーキテクチャは、使用可能なスレッドが終了するリスクがないため、マルチスレッド アーキテクチャよりも Web 開発者にとってはるかに便利です。複数の同時リクエストを処理する場合。

  • 高速開発: NodeJS は非常に軽量で、NodeJS サーバーはほとんど労力をかけずにすぐに起動して実行できます。

  • NPM: NodeJS パッケージ マネージャーは、世界中の開発者が作成するコードの膨大なライブラリです。プロジェクト内の依存関係として簡単に使用できるため、追加のコードを記述する労力が短縮されます。

「NodeJS サーバーは、ほとんど手間をかけずにすぐに起動して実行できる」 - それはそんなに簡単ですか?

はい。

const { createServer } = require('node:http');

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

const server = 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}/`);
});

このコードの機能:

  • NodeJS の http モジュールを使用します。
  • ホストとポートを構成します。
  • http モジュールの createServer メソッドを使用してサーバーを作成します。
  • 新しいリクエストが受信されるたびに、リクエスト イベントが呼び出され、http.IncomingMessage オブジェクトと http.ServerResponse オブジェクトという 2 つのオブジェクトが提供されます。
  • 作成されたサーバーはホストとポートをリッスンします。

それで終わりです。ここで、node server.js (server.js はコード ファイルの名前) を実行すると、NodeJS サーバーが「起動して実行」されます。

以上がNodeJS入門【簡単解説】の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。