web-dev-qa-db-fra.com

Quelle est la relation entre Node.js et V8?

Je réfléchis à cette question depuis un certain temps et je n'arrive pas à trouver la réponse. Quelle est la relation entre Node.js et V8? et Node.js peut-il fonctionner sans V8?

30
Chanlito

Quelle est la relation entre Node.js et V8?

V8 est le moteur Javascript à l'intérieur de node.js qui analyse et exécute votre Javascript. Le même moteur V8 est utilisé à l'intérieur de Chrome pour exécuter javascript dans le navigateur Chrome. Google a ouvert le moteur V8 et les constructeurs de node.js ont utilisé pour exécuter Javascript dans node.js.

Node.js peut-il fonctionner sans V8?

Non. Le binaire node.js actuel ne peut pas fonctionner sans V8. Il n'aurait pas de moteur Javascript et donc aucune possibilité d'exécuter du code qui le rendrait évidemment non fonctionnel. Node.js n'a pas été conçu pour fonctionner avec un autre moteur Javascript et, en fait, toutes les liaisons de code natives fournies avec node.js (comme le module fs ou le module net) reposent toutes sur l'interface V8 spécifique entre C++ et Javascript.

Il y a un effort de Microsoft pour permettre au moteur Chakra Javascript (c'est le moteur dans Edge) d'être utilisé avec node.js. Ils construisent une cale V8 au-dessus de Chakra afin que le code binaire node.js qui s'attend à parler à V8 puisse continuer à faire ce qu'il faisait, mais finit par parler au moteur Chakra en dessous. D'après ce que j'ai lu, cela est particulièrement destiné aux plates-formes Microsoft qui ont déjà le moteur Chakra et n'ont pas le moteur V8 en cours d'exécution, bien que vous puissiez probablement l'utiliser sur Windows également.

34
jfriend00

Node.js peut réellement fonctionner dans une certaine mesure sans V8, grâce à l'utilisation du projet node-chakracore . Des travaux sont en cours pour réduire le couplage étroit entre V8 et Node, afin que différents moteurs JavaScript puissent être utilisés sur place.

4
Superfly