Maison > Article > interface Web > Quel est le moteur de node.js ?
Le moteur de node.js est "Chrome V8". Node.js est principalement composé du moteur Chrome V8, de la bibliothèque standard et des modules locaux ; parmi eux, le moteur V8 est responsable de l'analyse et de l'exécution du code JavaScript. Il compile directement le code JS en code machine natif et utilise un mécanisme de mise en cache pour améliorer les performances. .
L'environnement d'exploitation de ce tutoriel : système windows7, nodejs version 12.19.0, ordinateur DELL G3.
Qu'est-ce que nodejs ?
Node.js est un environnement d'exécution JavaScript basé sur le moteur Chrome V8.
Node.js utilise un modèle d'E/S non bloquant et piloté par les événements, ce qui le rend léger et efficace.
En termes simples, Node.js est JavaScript exécuté côté serveur et JavaScript est utilisé pour la programmation côté serveur.
Node.js est une plate-forme de développement qui permet à JavaScript de s'exécuter côté serveur. Elle étend la portée de JavaScript côté serveur et peut être sur un pied d'égalité avec PHP, JSP, Python et Ruby.
Node.js n'est pas un langage indépendant. Contrairement à PHP, JSP, Python, Perl et Ruby, qui sont à la fois des langages et des plateformes, Node.js utilise JavaScript pour la programmation et s'exécute sur le moteur JavaScript (V8).
La composition du développement de nodejs consiste à utiliser un grand nombre de packages tiers fournis par la communauté de développement npm ainsi que le langage de script de base ECMAScript et une série d'interfaces de programmation fournies par la plate-forme de nœuds pour la programmation.
Composition de Node.js
Le runtime Node.js est principalement composé d'un moteur V8, d'une bibliothèque standard et de modules locaux. En particulier, le nombre de modules locaux détermine la force des fonctions Node.js par le bas.
1) Moteur V8
Le moteur V8 est l'interpréteur JavaScript, qui est responsable de l'analyse et de l'exécution du code JavaScript.
Le moteur V8 s'appuie sur de nombreuses technologies de la machine virtuelle Java et du compilateur C++. Il compile le code JavaScript directement en code machine natif et utilise un mécanisme de mise en cache pour améliorer les performances, ce qui permet à JavaScript de s'exécuter aussi rapidement que les programmes binaires.
2) Module local
Node.js intègre de nombreuses bibliothèques open source hautes performances, implémentées en langage C/C++, telles que :
Module | Instructions |
---|---|
libuv | Une bibliothèque d'E/S asynchrones multiplateforme basée sur les événements. Mais libuv ne se limite pas aux E/S, elle fournit également la gestion des processus, le pool de threads, le traitement du signal, la minuterie et d'autres fonctions. Tout sous Linux est un fichier. Les E/S incluent ici non seulement la lecture et l'écriture de fichiers, mais également la lecture et l'écriture de bases de données, la communication réseau (socket), etc. |
nmp | Gestionnaire de packages Node.js, qui peut télécharger des packages, installer des packages, désinstaller des packages, mettre à jour des packages, télécharger des packages, etc. |
http_parser | Un analyseur HTTP léger écrit en langage C pour prendre en charge le développement d'applications Web. |
zlib | Module de compression/décompression de données de qualité industrielle, Nodejs utilise zlib pour créer des interfaces de compression/décompression synchrones, asynchrones ou en streaming. |
OpenSSL | Ce module fournit de nombreuses fonctionnalités de cryptage/déchiffrement rigoureusement testées sur lesquelles le Web moderne s'appuie pour la sécurité, telles que le protocole SSL et le protocole https. |
c-ares | Bibliothèque de requêtes et d'analyse DNS asynchrone. |
Node.js exécute le code JavaScript directement sur l'ordinateur et offre à JavaScript de puissantes capacités. Il existe donc de nombreuses grandes différences entre ses modules locaux et le moteur d'exécution dans le navigateur, et il n'y a presque aucune connexion. Node.js a presque complètement abandonné le navigateur et a créé un nouveau runtime JavaScript à partir de zéro.
3) Bibliothèque standard
Les modules locaux sont écrits en C/C++, et Node.js est destiné aux développeurs JavaScript, il doit donc encapsuler l'interface C/C++ du module local et fournir un ensemble d'interfaces JavaScript élégantes pour développeurs. Et maintenir la cohérence de l’interface sur les différentes plateformes (systèmes d’exploitation).
Cet ensemble d'interfaces JavaScript est la bibliothèque standard Node.js. Le fait que la bibliothèque standard soit élégante et puissante détermine la facilité d'utilisation de Node.js et affecte directement les performances du marché de Node.js.
Résumé
Le moteur V8 et de nombreux modules locaux sont prêts à l'emploi. D'autres ont déjà construit la roue. Le travail principal de Node.js est de sélectionner les modules appropriés, de les intégrer ensemble et d'écrire l'interface JavaScript.
Bien sûr, tous les modules locaux ne conviennent pas. Node.js a également écrit plusieurs modules qui lui sont propres, le représentant typique étant Libuv. Libuv est le module principal et le plus basique de Node.js. Node.js est entièrement construit sur Libuv.
Vous avez peut-être entendu dire que Node.js adopte une architecture d'E/S asynchrone basée sur des événements. C'est la plus grande fonctionnalité de Node.js et la plus grande différence entre celui-ci et les autres langages de script de ce type. js La capacité est obtenue en s'appuyant sur Libuv.
Libuv est si puissant que le responsable a décidé de le séparer de Node.js, de le publier en tant que bibliothèque réseau distincte et de le rendre open source et gratuit. Aujourd'hui, Libuv est devenu très populaire et est connu comme les « trois principales bibliothèques réseau C/C++ » avec les bibliothèques traditionnelles Libevent et libev.
Node.js est célèbre principalement parce qu'il utilise le moteur V8 et la bibliothèque Libuv : le moteur V8 garantit que Node.js fonctionne efficacement et la bibliothèque Libuv fournit des capacités d'E/S asynchrones basées sur la boucle d'événements.
Résumé
Node.js est un environnement d'exécution JavaScript, qui permet à JavaScript d'être séparé de l'environnement du navigateur et peut être exécuté directement sur l'ordinateur, élargissant considérablement l'utilisation de JavaScript. Nous devrions traiter JavaScript au même niveau que les autres langages de programmation tels que Python, Java et Ruby, et ne plus le traiter comme un « gadget ».
Enfin, résumons l'histoire de JavaScript et de Node.js :
Scripts JavaScript dérivés du navigateur Netscape, offrant des capacités de programmation de pages Web ;
Moteur V8 dérivé du navigateur Chrome, qui a amélioré les performances JavaScript ; Le moteur V8 a construit Node.js, élargissant les capacités de programmation de JavaScript ;
Node.js a dérivé la bibliothèque Libuv, ajoutant un excellent outil au développement de réseau.
Pour plus de connaissances sur les nœuds, veuillez visiter :
tutoriel NodejsCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!