2017-03-06 1 views

Antwort

8

Wie ist die Beziehung zwischen Node.js und V8?

V8 ist die Javascript-Engine innerhalb von node.js, die Ihr Javascript analysiert und ausführt. Die gleiche V8-Engine wird in Chrome verwendet, um JavaScript im Chrome-Browser auszuführen. Google hat die V8-Engine als Open-Source-Lösung genutzt und die Ersteller von node.js nutzten sie, um Javascript in node.js auszuführen.

Kann Node.js ohne V8 arbeiten?

Nein. Die aktuelle node.js-Binärdatei kann nicht ohne V8 arbeiten. Es hätte keine Javascript-Engine und somit keine Möglichkeit, Code auszuführen, der es offensichtlich funktionsunfähig machen würde. Node.js wurde nicht für die Ausführung mit anderen Javascript-Engines entworfen, und tatsächlich basieren alle nativen Code-Bindungen, die mit node.js geliefert werden (z. B. das fs-Modul oder das Netzmodul), auf der spezifischen V8-Schnittstelle zwischen C++ und Javascript.

Es gibt Bemühungen von Microsoft, die Chakra-Javascript-Engine (das ist die Engine in Edge) mit node.js zu verwenden. Sie bauen eine V8-Scheibe auf Chakra, so dass der node.js-Binärcode, der mit V8 zu sprechen erwartet, weiterhin tun kann, was er tut, aber letztendlich mit der Chakra-Engine darunter spricht. Von dem, was ich gelesen habe, ist dies besonders auf Microsoft-Plattformen ausgerichtet, die bereits die Chakra-Engine haben und nicht über die V8-Engine laufen, obwohl Sie vermutlich auch unter Windows arbeiten könnten.

+1

Sie können Knoten ohne V8 ausführen, es gibt eine Node Chakra Core-Version. Es gibt auch eine N-API, die bald in Node landen wird, damit Sie die gewünschte JS-Engine in Node verwenden können. – user835611

+1

@ user835611 - Ich habe meine Antwort aktualisiert, um die Informationen über Chakra zu reflektieren. – jfriend00

3

Node.js kann in gewissem Umfang auch ohne V8 funktionieren, indem das Projekt verwendet wird. Es gibt laufende Arbeiten, um die enge Kopplung zwischen V8 und Node zu reduzieren, so dass verschiedene JavaScript-Engines direkt verwendet werden können.

+0

Oder mit spidernode, die node.js auf SpiderMonkey ist. – jmdeamer

Verwandte Themen