web-dev-qa-db-ja.com

Node.jsとV8の関係は何ですか?

私はしばらくこの質問について考えていましたが、答えが見つからないようです。 Node.jsとV8の関係は何ですか? Node.jsはV8なしでも動作しますか?

30
Chanlito

Node.jsとV8の関係は何ですか?

V8は、JavaScriptを解析して実行するnode.js内のJavascriptエンジンです。同じV8エンジンをChrome=内で使用して、ChromeブラウザーでJavaScriptを実行します。GoogleはV8エンジンとnode.jsのビルダーをオープンソース化しましたnode.jsでJavascriptを実行します。

Node.jsはV8なしでも機能しますか?

いいえ。現在のnode.jsバイナリはV8なしでは機能しません。 Javascriptエンジンがないため、明らかに機能しないコードを実行することはできません。 Node.jsは、他のJavascriptエンジンで実行するようには設計されていません。実際、node.jsに付属するすべてのネイティブコードバインディング(fsモジュールやnetモジュールなど)はすべて、C++とJavascript。

Microsoftは、Chakra Javascriptエンジン(Edgeのエンジン)をnode.jsで使用できるようにする努力をしています。彼らはChakraの上にV8シムを構築し、V8と通信することを想定しているnode.jsバイナリコードが、実行していたことを引き続き実行できるようにしますが、実際には下のChakraエンジンと通信します。私が読んだことから、これは特にChakraエンジンを搭載し、V8エンジンを実行していないMicrosoftプラットフォームを対象としていますが、おそらくWindowsでも使用できます。

34
jfriend00

Node.jsは、V8がなくても node-chakracore プロジェクトを使用することで、ある程度機能します。さまざまなJavaScriptエンジンをインプレースで使用できるように、V8とNodeの間の密結合を減らすための作業が進行中です。

4
Superfly