Maison >interface Web >Questions et réponses frontales >Que signifie nodejs ?
nodejs est un environnement d'exécution JavaScript basé sur le moteur Chrome V8. Il s'agit d'une plate-forme de développement qui permet à JavaScript de s'exécuter côté serveur, permettant d'utiliser le langage de script JavaScript comme langage serveur. Avantages du nœud : capacité de concurrence très élevée, utilisation de la syntaxe JavaScript, etc.
L'environnement d'exploitation de ce tutoriel : système windows7, nodejs version 14.15.4, ordinateur DELL G3.
Node.js a été publié en mai 2009 et développé par Ryan Dahl. Il s'agit d'un environnement d'exécution JavaScript basé sur le moteur Chrome V8. Il utilise un modèle d'E/S non bloquant et piloté par les événements pour permettre à JavaScript de s'exécuter sur le serveur. plate-forme de développement côté serveur, qui fait de JavaScript un langage de script comparable aux langages côté serveur tels que PHP, Python, Perl et Ruby.
Node.js optimise certains cas d'utilisation spéciaux et fournit des API alternatives pour améliorer le fonctionnement de la V8 dans des environnements sans navigateur. Le moteur V8 exécute Javascript très rapidement et offre de très bonnes performances. Il est construit sur la base de la plate-forme d'exécution JavaScript Chrome pour une utilisation facile. créer des applications réseau avec une vitesse de réponse rapide et une expansion facile.
Node.js utilise le moteur JavaScript Google V8 car :
V8 est un logiciel open source basé sur la licence BSD
V8 est très rapide
V8 se concentre sur les fonctions réseau, notamment HTTP, DNS, TCP Plus mature sous d'autres aspects
Quels sont les avantages de Node.js ? Pourquoi le langage de script JavaScript peut-il être utilisé comme langage serveur ?
Avantage 1 Node.js possède des capacités de concurrence très élevées
L'objectif initial de Node.js est de fournir un moyen simple de créer des serveurs hautes performances et d'exécuter diverses applications dans les outils de développement de programmes de serveurs. ? par rapport aux langages classiques côté serveur tels que Java, PHP ou . C'est à dire. Théoriquement, un serveur de 8 Go peut avoir environ 4 000 utilisateurs connectés simultanément. Pour prendre en charge davantage d'utilisateurs avec une simultanéité élevée, des serveurs supplémentaires doivent être ajoutés.
Node.js ne crée pas de nouveau fil de discussion pour chaque connexion client, mais n'en utilise qu'un seul. E C'est le Node basé sur un seul thread (un seul thread principal pour récupérer la requête, donner la réponse)
N'est-ce pas plus lent ? En fait, ce n’est pas le cas. Lorsque Node.js reçoit une connexion utilisateur, il déclenche un événement interne. Répondez au comportement des utilisateurs grâce à des fonctions prédéfinies. Le thread principal de Node.js ne se soucie pas du processus du programme. En fait, il existe un autre thread de travail pour aider le thread principal de Node à accéder aux fichiers et à lire la base de données lorsque le thread de travail lit les données du fichier ou les fichiers. données dans la base de données, la fonction de rappel sera renvoyée au thread principal du nœud pour exécution, par exemple en transmettant les données trouvées au client et en fermant la connexion pour certaines opérations. (Il s'agit d'E/S non bloquantes de nœud, pilotées par les événements).我 上 Une image que je dessine ci-dessous (s'il y a quelque chose qui ne va pas, pardonnez-moi)
À ce moment, il devrait y avoir un prototype dans notre tête, c'est-à-dire que le fil principal de Node.js a reçu La tâche de demander et de répondre aux demandes est mélangée, de sorte qu'il puisse recevoir en continu des demandes de plusieurs clients. Il n'a pas besoin d'attendre les opérations d'E/S. Lorsque le thread de travail IO trouve les données, il déclenche la fonction de rappel d'événement. dire à l'hôte Les données du thread ont été obtenues. À ce moment, le thread principal exécute la fonction de rappel et renvoie les données au client.
Théoriquement, un serveur doté de 8G de mémoire peut accueillir les connexions de 30 000 à 40 000 utilisateurs en même temps. C'est ici que Node brille (E/S monothread, non bloquantes, pilotées par les événements)
Avantages 2 Node utilise la syntaxe JavaScriptNode.JS
Moteur V8 basé sur javaScript, c'est-à-dire qu'il est a dit que tant que vous connaissez la syntaxe de JS, vous pouvez l'utiliser pour le développement back-end, mais Node recommande officiellement la syntaxe ECMA Script6 (ES6).Node brise la situation passée où JavaScript ne pouvait s'exécuter que dans le navigateur et unifie les environnements de programmation front-end et back-end, ce qui réduit considérablement les coûts de développement. (C'est très convivial pour les développeurs front-end. Plus JS peut faire de choses, plus le développement front-end sera rapide)
Avantages 3 L'émergence de Node Avec un développement rapide ces dernières années, Node.js joue. un rôle irremplaçable.S Node.js n'est pas seulement un environnement d'exploitation, mais aussi un nouveau langage JavaScript avec un nouveau-né et un os. Il s'adapte à la base de grammaire JS. Il ajoute également quelques modules internes. Le module de lecture du fichier r URL est utilisé pour analyser l'URL. demander des données, etc.
Rreeee
node.js intègre également l'outil de gestion de packages NPM, afin que nous puissions facilement télécharger les sacs dont dépend notre projet via la ligne de commande A NPM Install jquery NPM Install -G Webpack. NPM Install -G Create -React -APP, etc. , tant que le projet est introduit, vous pouvez utiliserconst http = require('http')node et prendre en charge la syntaxe du module personnalisé ↓↓
const Jquery = require('jquery');
const app =()=>{ //模块代码 } module.exports = app;
Node.js affecte dans une certaine mesure le modèle de développement front-end. Rendre l'ingénierie frontale modulaire, développer rapidement, réduire le couplage de code et améliorer considérablement la maintenabilité.
À quoi convient Node.js ?个 Les listes suivantes sont répertoriées sur plusieurs scénarios d'application NODE.JS. Pour plus de connaissances liées à la programmation, veuillez visiter : Enseignement de la programmation ! !
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!