Maison >interface Web >Questions et réponses frontales >Quelle plateforme est nodejs ?
nodejs est une plate-forme basée sur le runtime JavaScript Chrome. Il s'agit d'une plate-forme de développement qui permet à JavaScript de s'exécuter sur le serveur. Elle est principalement utilisée pour créer facilement des applications réseau avec une vitesse de réponse rapide et une expansion facile.
L'environnement d'exploitation de ce tutoriel : système windows7, nodejs version 12.19.0, ordinateur DELL G3.
Node.js est une plate-forme construite sur le runtime JavaScript Chrome. Il s'agit d'une plate-forme de développement qui permet à JavaScript de s'exécuter côté serveur. Elle fait de JavaScript un langage de script à égalité avec les langages côté serveur tels que PHP, Python. , Perl et Ruby.
Node.js est un environnement JavaScript côté serveur d'E/S basé sur le moteur V8 de Google. Le moteur V8 exécute Javascript très rapidement et offre de très bonnes performances.
Node.js est utilisé pour créer facilement des applications Web avec une vitesse de réponse rapide et une expansion facile.
Qu'est-ce que le runtime ?
Le soi-disant runtime est une série de composants ou d'outils sur lesquels le programme doit s'appuyer pendant son fonctionnement ; ces outils et composants sont regroupés et fournis aux programmeurs, et les programmeurs peuvent exécuter le code qu'ils écrivent.
Pour JavaScript, il doit s'appuyer sur les composants suivants pendant le fonctionnement :
1) Interpréteur
JavaScript est un langage de script qui doit être interprété et exécuté en même temps. Les codes sources utilisés sont compilés. processus Effectué par l’interprète. Sans interpréteur, JavaScript n’est qu’un ensemble de fichiers texte brut qui ne peuvent pas être lus par les ordinateurs.
2) Bibliothèque standard
Nous appellerons certaines fonctions intégrées dans le code JavaScript. Ces fonctions ne sont pas écrites par nous-mêmes, mais sont fournies avec la bibliothèque standard.
3) Modules locaux
Les modules dits locaux sont des modules qui ont été compilés à l'avance. Ce sont des fichiers binaires, dont la structure interne n'est pas différente des fichiers exécutables, mais ils ne peuvent pas être exécutés seuls. Ces modules locaux sont en réalité des bibliothèques de liens dynamiques (fichiers .dll sous Windows). Si vous avez utilisé des langages compilés comme le langage C et C++, vous devriez pouvoir mieux le comprendre.
De nombreuses fonctions de JavaScript nécessitent le support de modules locaux, tels que :
Le cookie est utilisé pour stocker une petite quantité de données utilisateur. Il s'agit d'un petit fichier sur l'ordinateur de l'utilisateur. L'utilisation d'un cookie doit avoir le support d'un. module d'exploitation de fichiers.
Ajax peut demander des données au serveur via Internet. Il s'agit d'une opération réseau et doit être prise en charge par une bibliothèque réseau.
Tracez le processus d'exécution du code étape par étape et trouvez les erreurs logiques. Ce processus est appelé débogage et nécessite le support d'un débogueur.
JavaScript peut faire fonctionner HTML, ce qui nécessite que le module d'analyse HTML construise l'arborescence DOM à l'avance.
Les modules locaux encapsulent généralement des fonctions communes et ont des exigences de performances élevées, ils sont donc généralement implémentés à l'aide de langages compilés, tels que le langage C, C++, le langage assembleur, etc.
L'interpréteur JavaScript nécessite la prise en charge des modules locaux.La bibliothèque standard appellera également l'interface des modules locaux lors de l'écriture.Cependant, le code JavaScript que nous écrivons n'utilise généralement pas directement les modules locaux, les programmeurs web front-end ne peuvent donc pas y toucher. .
Le module local est le héros en coulisses. Il n'est pas visible, mais il est indispensable.
Résumé
Divers composants/outils tels que des interpréteurs, des bibliothèques standard et des modules locaux prennent en charge conjointement l'exécution du code JavaScript, et ils sont collectivement appelés le runtime JavaScript.
Avant Node.js, le runtime JavaScript était intégré au navigateur et apparaissait sous forme de différents modules du navigateur. Cela signifie que si vous souhaitez exécuter du code JavaScript, vous devez démarrer le navigateur. JavaScript ne peut pas échapper à la paume du navigateur. Ses fonctions sont fortement restreintes et ne peuvent être utilisées que comme script Web.
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 | Description |
---|---|
libuv |
Une bibliothèque d'E/S asynchrones multiplateforme et pilotée par é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. Sous Linux, tout 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 | Le gestionnaire de packages Node.js 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 de résolution DNS asynchrone. |
Node.js exécute le code JavaScript directement sur l'ordinateur et offre à JavaScript de puissantes fonctionnalité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, fournir un ensemble d'interfaces JavaScript élégantes aux développeurs et Maintenir la cohérence de l'interface sur les différentes plates-formes (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.
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!