ホームページ  >  記事  >  ウェブフロントエンド  >  Node.jsの特徴は何ですか

Node.jsの特徴は何ですか

青灯夜游
青灯夜游オリジナル
2022-07-18 17:56:434155ブラウズ

nodejs には 3 つの特徴があります: 1. サーバーサイド; Nodejs はサーバーサイドで実行され、JavaScript の実行環境に環境サービスを提供します。 2. ノンブロッキング非同期; Nodejs はノンブロッキング I/O メカニズムを採用しており、I/O 操作の実行時にブロッキングが発生しません。 3. イベント駆動型; 新しいリクエストが受信されると、リクエストはイベント キューにプッシュされ、キュー内のイベント ステータスの変化を検出するためにループが使用されます。ステータスの変化を伴うイベントが検出された場合は、実行されます。このイベントに対応する処理コード。

Node.jsの特徴は何ですか

このチュートリアルの動作環境: Windows 7 システム、nodejs バージョン 16、DELL G3 コンピューター。

Node.js とは何ですか?

Node.js は、オープン ソースのクロスプラットフォーム JavaScript ランタイム環境、つまり、プラットフォーム。

イベント駆動型、ノンブロッキング、非同期入出力モデルなどのテクノロジーを使用して、ブラウザの外部で V8 JavaScript エンジン (Google Chrome のコア) を実行し、パフォーマンスを向上させます。

Node.js は、サーバー側のノンブロッキング I/O、イベント駆動型 JavaScript 実行環境であることが理解できます。

上記のように、Node.js にはサーバーサイド、ノンブロッキング I/O、イベント駆動という 3 つの特徴があると結論付けるのは難しくありません。次に、3 つの機能を分析します。

  • ① サーバー側: 文字通り、Node.js はサーバー側で実行され、JavaScript の実行環境に環境サービスを提供します。

  • ② ノンブロッキング非同期: Node.js はノンブロッキング I/O メカニズムを採用しており、I/O 操作の実行時にブロッキングが発生しません。操作を実行する時間の形式。

    たとえば、データベースにアクセスするコードが実行された後、すぐにその後ろのコードが実行され、データベースの戻り結果に対する処理コードがコールバック関数内に配置されることで、データベースの実行効率が向上します。プログラム。

  • ③ イベント駆動型: イベント駆動型とは、新しいリクエストが到着すると、そのリクエストがイベント キューにプッシュされ、ループを使用してイベント ステータスが検出されることを意味します。状態変化を伴うイベントが検出された場合、そのイベントに対応する処理コードが実行されます (通常はコールバック関数

    たとえば、ファイルを読み取る場合、ファイルが読み込まれた後)読み取ると、対応する状態がトリガーされ、対応するコールバック関数を通じて処理されます。

知識の拡張:

node.js は、シングルスレッドサービス(JSは本来ブラウザ側もサーバー側もシングルスレッドではありません)。同時に、世界最大のオープンソース ライブラリ エコシステムである npm を備えています。

Node.js の長所と短所は何ですか?

##> 利点

  • 高同時実行シナリオの処理におけるパフォーマンスの向上

  • #I/O 集中型のアプリケーションに適しています。その値は、アプリケーションが制限値で実行されていても、CPU 使用率が比較的低く、ほとんどの時間は I/O ハードディスク メモリの読み取りおよび書き込み操作を実行しているということです
  • #> 欠点

Node.js はシングルスレッドであるため、欠点は次のとおりです:

CPU 集中型のアプリケーションには適していません
  • シングルコア CPU のみをサポートし、CPU を完全に活用することはできません
  • #信頼性が低いです。コードの特定のリンクがクラッシュすると、システム全体が崩壊します。

Node.jsの特徴は何ですか

Node.js では何ができるのでしょうか?

表示用にブラウザにデータを提供します

    ユーザーが送信したデータを保存します
  • データの統計と分析
  • ##Node.js のモジュール システム

##Node.js# にはグローバル スコープの概念がありません##; Node.js

では、複数の

JavaScript スクリプト ファイルは、require
メソッドを介してのみロードおよび実行できます; require ロードすると、その中のコードのみが実行されます。ファイルはモジュールのスコープ内にあるため、汚染の問題は発生しません。#モジュールは完全に閉じられています

外部は内部にアクセスできません
  • 内部は外部にアクセスできません
  • ##モジュール スコープによって次のことが可能になりますが、利点は、複数のファイルをロードして実行できることと、変数名の競合による汚染の問題を完全に回避できることです。

    ただし、場合によっては、モジュールが通信する必要があります。各モジュールでは、オブジェクト「
  • exports
  • 」が提供されます。これはデフォルトでは空のオブジェクトです。

    使用中、外部アクセスに使用する必要があるメンバーは、'

    exports
  • ' インターフェイス オブジェクトに手動でマウントされます。
このモジュールを '

require
' するのは誰ですか? 、モジュール内の exports インターフェイス オブジェクトを取得できる人。
#コア モジュール
コア モジュールは、Node によって提供される名前付きモジュールです。これらはすべて、独自の特別な名前識別を持っています。例:

fs:ファイル操作モジュール

  • #http: ネットワーク サービス構築モジュール

  • #os

    : オペレーティング システム情報モジュール

  • path

    : パス処理モジュール

  • すべてのコア モジュールは、require

    メソッドを使用してロードする前に手動で使用する必要があります。例: 'var fs = require('fs')'

    Node.js アプリケーション シナリオ Nodejs の特性と欠点を考慮して、その適用シナリオは次のように分類されます。

    • I/O

      が得意、苦手計算。 Nodejs はシングルスレッドなので計算(同期)が多すぎるとこのスレッドがブロックされます; あまり複雑な処理は必要ありません;

    • websocket## と連携します# 長時間接続される

      リアルタイム インタラクティブ アプリケーション 、つまりリアルタイム通信を開発する;

    • 具体的なシナリオは次のように表すことができます:

      ① ユーザー フォーム収集システム、バックグラウンド管理システム、リアルタイム インタラクション システム、試験システム、ネットワーク ソフトウェア、高同時実行 Web アプリケーション; Web、キャンバス# に基づくマルチプレイヤー オンライン ゲーム##;

    • ③ マルチプレイヤー リアルタイム チャット クライアントと
    web

    ルーム、グラフィックおよびテキスト ライブ ブロードキャストに基づくチャット;

    ④ シングルページ ブラウザ アプリケーション;

    ⑤ データベースの操作と、フロントエンドおよびモバイル端末向けの json ベースの API の提供; 実際には

    Node.js

    でほぼすべてのアプリケーションを実現できますが、何が必要か現在のシナリオが Node.js の使用に適しているかどうか、Node.js の使用が「最適なソリューション」であるかどうか、およびパフォーマンスの問題を考慮する必要があることが考慮されます。 ノード関連の知識の詳細については、

    nodejs チュートリアル

    を参照してください。

    以上がNode.jsの特徴は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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