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

Node.jsのエンジンは何ですか?

青灯夜游
青灯夜游オリジナル
2022-03-22 18:25:362860ブラウズ

node.jsのエンジンは「Chrome V8」です。 Node.js は主に Chrome V8 エンジン、標準ライブラリ、ローカル モジュールで構成されており、そのうち V8 エンジンは JavaScript コードの解析と実行を担当し、JS コードをネイティブ マシン コードに直接コンパイルし、キャッシュ メカニズムを使用してパフォーマンスを向上させます。 。

Node.jsのエンジンは何ですか?

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

nodejs とは何ですか?

Node.js は、Chrome V8 エンジンに基づく JavaScript ランタイム環境です。

Node.js はイベント駆動型のノンブロッキング I/O モデルを使用しており、軽量かつ効率的です。

簡単に言えば、Node.js はサーバー側で実行される JavaScript であり、JavaScript はサーバー側のプログラミングに使用されます。

Node.js は、JavaScript をサーバー側で実行できるようにする開発プラットフォームであり、JavaScript の範囲をサーバー側に拡張し、PHP、JSP、Python、Ruby と同等の立場に立つことができます。

Node.js は独立した言語ではありません。言語でもプラットフォームでもある PHP、JSP、Python、Perl、Ruby とは異なり、Node.js はプログラミングに JavaScript を使用し、JavaScript エンジンで実行されます ( V8)。

Nodejs 開発は、npm 開発コミュニティによって提供される多数のサードパーティ パッケージに加えて、基本的な ECMAScript スクリプト言語と、プログラミング用のノード プラットフォームによって提供される一連のプログラミング インターフェイスの使用で構成されます。

Node.js の構成

Node.js ランタイムは主に V8 エンジン、標準ライブラリ、ローカル モジュール、特にローカル モジュールで構成されます。 Node.js の量によって、Node.js の機能の強度が最下位レベルで決まります。

1) V8 エンジン

V8 エンジンは JavaScript インタプリタであり、JavaScript コードの解析と実行を担当します。

V8 エンジンは、Java 仮想マシンと C コンパイラの多くのテクノロジを利用しています。JavaScript コードをネイティブ マシン コードに直接コンパイルし、キャッシュ メカニズムを使用してパフォーマンスを向上させます。これにより、JavaScript は、Java 仮想マシンと同等の速度で実行されます。バイナリプログラム。

2) ローカル モジュール

Node.js は、次のような C/C 言語で実装された多くの高性能オープン ソース ライブラリを統合します。

##モジュール説明libuvクロスプラットフォームのイベント駆動型非同期 I/O図書館 。ただし、libuv は I/O に限定されず、プロセス管理、スレッド プール、信号処理、タイマーなどの機能も提供します。 Linux ではすべてがファイルであり、ここでの I/O にはファイルの読み書きだけでなく、データベースの読み書き、ネットワーク通信 (ソケット) などが含まれます。 nmpNode.js パッケージ マネージャーでは、パッケージのダウンロード、パッケージのインストール、パッケージのアンインストール、パッケージの更新、パッケージのアップロードなどができます。 http_parserWeb アプリケーション開発をサポートするために C 言語で書かれた軽量の HTTP パーサー。 zlib工業グレードのデータ圧縮/解凍モジュールである Nodejs は、zlib を使用して同期、非同期、またはストリーミングの圧縮/解凍インターフェイスを作成します。 OpenSSLこのモジュールは、SSL プロトコルや https プロトコルなど、最新の Web がセキュリティのために依存している、厳密にテストされた暗号化/復号化機能の多くを提供します。 c-ares非同期 DNS クエリおよび解決ライブラリ。

Node.js は JavaScript コードをコンピューター上で直接実行し、JavaScript に強力な機能を提供するため、ローカル モジュールとブラウザーのランタイムの間には多くの大きな違いがあり、ほとんどつながりがありません。 Node.js はブラウザをほぼ完全に放棄し、新しい JavaScript ランタイムをゼロから構築しました。

3) 標準ライブラリ

ローカル モジュールは C/C で記述されており、Node.js は JavaScript 開発者向けであるため、ローカル モジュールの C/C インターフェイスはカプセル化する必要があり、一連のエレガントな JavaScript インターフェイスを開発者に提供し、さまざまなプラットフォーム (オペレーティング システム) 上でインターフェイスの一貫性を維持する必要があります。

この JavaScript インターフェイスのセットは、Node.js 標準ライブラリです。標準ライブラリがエレガントで強力であるかどうかは、Node.js の使いやすさを決定し、Node.js の市場パフォーマンスに直接影響します。

概要

V8 エンジンと多くのローカル モジュールは既製です。他の人がすでにホイールを構築しています。Node.js の主な仕事は、適切なモジュールを選択することです。これらが統合され、JavaScript インターフェースが記述されます。

もちろん、すべてのローカル モジュールが適切であるとは限りません。Node.js は独自のモジュールもいくつか作成しています。代表的なものは Libuv です。 Libuv は Node.js のコアかつ最も基本的なモジュールであり、Node.js は完全に Libuv に基づいて構築されています。

Node.js はイベントベースのシングルスレッド非同期 I/O アーキテクチャを採用していると聞いたことがあるかもしれませんが、これが Node.js の最大の特徴であり、他のスクリプト言語との最大の違いです。 . js のこの機能は、Libuv に依存することで実現されます。

Libuv は非常に強力であるため、公式はこれを Node.js から分離し、別個のネットワーク ライブラリとしてリリースし、オープンソースで無料にすることを決定しました。現在、Libuv は非常に人気があり、従来の Libeven ライブラリ、libev ライブラリと合わせて「三大 C/C ネットワーク ライブラリ」と呼ばれています。

Node.js が有名なのは、主に V8 エンジンと Libuv ライブラリを使用しているためです。V8 エンジンは Node.js の効率的な実行を保証し、Libuv ライブラリはイベントに基づいた非同期 I/O を提供します。ループ能力。

概要

Node.js は JavaScript ランタイムであり、JavaScript をブラウザ環境から分離し、ブラウザ環境上で直接実行できるようにします。 JavaScript の用途を大幅に拡大します。私たちは JavaScript を Python、Java、Ruby などの他のプログラミング言語と同じレベルで扱うべきであり、もはや「ガジェット」として扱うのはやめましょう。

最後に、JavaScript と Node.js の歴史をまとめてみましょう:

  • Netscape ブラウザは JavaScript スクリプトを派生させ、Web ページ プログラミング機能を提供しました;

  • Chrome ブラウザは、JavaScript のパフォーマンスを向上させる V8 エンジンを派生します;

  • V8 エンジンは Node.js を構築し、JavaScript プログラミング機能を拡張します;

  • Node.js は Libuv ライブラリを派生し、ネットワーク開発に優れたツールを追加します。

ノード関連の知識の詳細については、nodejs チュートリアル を参照してください。



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

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