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 Nodejs !
Ce 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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le service Node construit sur une base non bloquante et piloté par les événements présente l'avantage d'une faible consommation de mémoire et est très adapté à la gestion de requêtes réseau massives. Dans le contexte de demandes massives, les questions liées au « contrôle de la mémoire » doivent être prises en compte. 1. Le mécanisme de récupération de place du V8 et les limitations de mémoire Js sont contrôlés par la machine de récupération de place

Cet article vous donnera une compréhension approfondie de la mémoire et du garbage collector (GC) du moteur NodeJS V8. J'espère qu'il vous sera utile !

Le choix d'une image Docker pour Node peut sembler trivial, mais la taille et les vulnérabilités potentielles de l'image peuvent avoir un impact significatif sur votre processus CI/CD et votre sécurité. Alors, comment choisir la meilleure image Docker Node.js ?

Le module de fichiers est une encapsulation des opérations de fichiers sous-jacentes, telles que l'ajout de lecture/écriture/ouverture/fermeture/suppression de fichiers, etc. La plus grande caractéristique du module de fichiers est que toutes les méthodes fournissent deux versions de **synchrone** et ** asynchrone**, with Les méthodes avec le suffixe sync sont toutes des méthodes de synchronisation, et celles qui n'en ont pas sont toutes des méthodes hétérogènes.

Comment Node.js fait-il le GC (garbage collection) ? L’article suivant vous guidera à travers cela.

La boucle d'événements est un élément fondamental de Node.js et permet une programmation asynchrone en garantissant que le thread principal n'est pas bloqué. Comprendre la boucle d'événements est crucial pour créer des applications efficaces. L'article suivant vous donnera une compréhension approfondie de la boucle d'événements dans Node. J'espère qu'il vous sera utile !

La raison pour laquelle le nœud ne peut pas utiliser la commande npm est que les variables d'environnement ne sont pas configurées correctement. La solution est la suivante : 1. Ouvrez "Propriétés système" ; 2. Recherchez "Variables d'environnement" -> "Variables système", puis modifiez l'environnement. variables ; 3. Recherchez l'emplacement du dossier nodejs ; 4. Cliquez sur "OK".

Comment empaqueter le fichier exécutable nodejs avec pkg ? L'article suivant vous expliquera comment utiliser pkg pour empaqueter un projet Node dans un fichier exécutable. J'espère qu'il vous sera utile !
