ホームページ > 記事 > ウェブフロントエンド > Node.jsの特徴は何ですか
nodejs には 3 つの特徴があります: 1. サーバーサイド; Nodejs はサーバーサイドで実行され、JavaScript の実行環境に環境サービスを提供します。 2. ノンブロッキング非同期; Nodejs はノンブロッキング I/O メカニズムを採用しており、I/O 操作の実行時にブロッキングが発生しません。 3. イベント駆動型; 新しいリクエストが受信されると、リクエストはイベント キューにプッシュされ、キュー内のイベント ステータスの変化を検出するためにループが使用されます。ステータスの変化を伴うイベントが検出された場合は、実行されます。このイベントに対応する処理コード。
このチュートリアルの動作環境: 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 の長所と短所は何ですか?
##> 利点
Node.js はシングルスレッドであるため、欠点は次のとおりです:
CPU 集中型のアプリケーションには適していません表示用にブラウザにデータを提供します
##Node.js# にはグローバル スコープの概念がありません##; Node.js
では、複数のJavaScript スクリプト ファイルは、
require
メソッドを介してのみロードおよび実行できます; require
ロードすると、その中のコードのみが実行されます。ファイルはモジュールのスコープ内にあるため、汚染の問題は発生しません。
#モジュールは完全に閉じられています
##モジュール スコープによって次のことが可能になりますが、利点は、複数のファイルをロードして実行できることと、変数名の競合による汚染の問題を完全に回避できることです。
ただし、場合によっては、モジュールが通信する必要があります。各モジュールでは、オブジェクト「使用中、外部アクセスに使用する必要があるメンバーは、'
exportsrequire
' するのは誰ですか? 、モジュール内の exports
インターフェイス オブジェクトを取得できる人。 #コア モジュール
コア モジュールは、Node によって提供される名前付きモジュールです。これらはすべて、独自の特別な名前識別を持っています。例:
fs:ファイル操作モジュール
#http: ネットワーク サービス構築モジュール
: オペレーティング システム情報モジュール
: パス処理モジュール
メソッドを使用してロードする前に手動で使用する必要があります。例: 'var fs = require('fs')'
Node.js アプリケーション シナリオ Nodejs の特性と欠点を考慮して、その適用シナリオは次のように分類されます。
が得意、苦手計算。 Nodejs はシングルスレッドなので計算(同期)が多すぎるとこのスレッドがブロックされます; あまり複雑な処理は必要ありません;
リアルタイム インタラクティブ アプリケーション 、つまりリアルタイム通信を開発する;
① ユーザー フォーム収集システム、バックグラウンド管理システム、リアルタイム インタラクション システム、試験システム、ネットワーク ソフトウェア、高同時実行 Web アプリケーション;
②
Web、キャンバス# に基づくマルチプレイヤー オンライン ゲーム##;
ルーム、グラフィックおよびテキスト ライブ ブロードキャストに基づくチャット;
④ シングルページ ブラウザ アプリケーション;
⑤ データベースの操作と、フロントエンドおよびモバイル端末向けの json ベースの API の提供; 実際には
でほぼすべてのアプリケーションを実現できますが、何が必要か現在のシナリオが Node.js の使用に適しているかどうか、Node.js の使用が「最適なソリューション」であるかどうか、およびパフォーマンスの問題を考慮する必要があることが考慮されます。 ノード関連の知識の詳細については、
を参照してください。
以上がNode.jsの特徴は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。