2017-03-06 10 views
7

私はこの質問についてしばらく考えており、答えを見つけることができないようです。 Node.jsとV8の関係は何ですか? V8なしでNode.jsを使用できますか?Node.jsとV8の関係は何ですか?

答えて

8

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

V8は、Javascriptを解析して実行するnode.js内のJavascriptエンジンです。同じV8エンジンがChromeブラウザ内でjavascriptを実行するためにChromeの内部で使用されます。 GoogleはV8エンジンをオープンソースとし、node.jsのビルダーはnode.jsでJavascriptを実行するためにそれを使用していました。

V8なしでNode.jsを使用できますか?

いいえ現在のnode.jsバイナリはV8なしでは動作しません。 Javascriptエンジンを持たないため、コードを実行する能力がないため、明らかに機能しなくなる可能性があります。 Node.jsは他のJavascriptエンジンで動作するように設計されておらず、実際にはnode.jsに付属するすべてのネイティブコードバインディング(fsモジュールやネットモジュールなど)はすべてC++とC++の間の特定のV8インターフェイスに依存していますJavascript。

Chakra Javascriptエンジン(Edgeのエンジン)をnode.jsと一緒に使用できるようにするMicrosoftの努力があります。彼らはChakraの上にV8シムを構築して、V8と話すことを期待しているnode.jsバイナリコードが、それがやっていたことを引き続き行うことができますが、実際はその下にあるChakraエンジンと話します。私が読んだところでは、Chakraエンジンを搭載したV8エンジンを搭載していないMicrosoftプラットフォームをターゲットにしていますが、おそらくWindowsでも使用できます。

+1

ノードをV8なしで実行できます。ノードチャクラコアバージョンがあります。ノードにすぐに着陸するN-APIもあります。これにより、Nodeで必要なJSエンジンを使用できます。 – user835611

+1

@ user835611 - 私はチャクラについての情報を反映するために私の答えを更新しました。 – jfriend00

3

Node.jsは、node-chakracoreプロジェクトを使用して、V8なしで実際にはある程度機能します。 V8とNodeの緊密な結合を減らすための作業が継続的に行われているため、さまざまなJavaScriptエンジンをインプレースで使用できます。

+0

またはSpiderMonkeyの上にnode.jsというスパイダーノードを使用してください。 – jmdeamer

関連する問題