Maison interface Web Questions et réponses frontales Quelles sont les fonctionnalités de node.js

Quelles sont les fonctionnalités de node.js

Jul 18, 2022 pm 05:56 PM
nodejs node

nodejs a trois caractéristiques : 1. Côté serveur ; Nodejs s'exécute côté serveur et fournit des services d'environnement pour l'environnement d'exécution de Javascript ; 2. Asynchrone non bloquant ; Nodejs adopte un mécanisme d'E/S non bloquant, qui ne provoquera aucun blocage lors de l'exécution d'opérations d'E/S. 3. Basé sur les événements : lorsqu'une nouvelle demande arrive, la demande est placée dans une file d'attente d'événements, puis une boucle est utilisée pour détecter les changements d'état des événements dans la file d'attente. Si un événement avec un changement d'état est détecté, exécutez-le. Le code de traitement correspondant à cet événement.

Quelles sont les fonctionnalités de node.js

L'environnement d'exploitation de ce tutoriel : système Windows 7, nodejs version 16, ordinateur DELL G3.

Qu'est-ce que Node.js ?

Node.js est un environnement d'exécution JavaScript open source et multiplateforme, ou en d'autres termes, une plateforme.

Exécutez le moteur JavaScript V8 (le cœur de Google Chrome) en dehors du navigateur, en utilisant des technologies telles que des modèles d'entrée et de sortie pilotés par événements, non bloquants et asynchrones pour améliorer les performances.

On peut comprendre que Node.js est un environnement d'exécution JavaScript côté serveur, non bloquant, piloté par les événements.

Comme décrit ci-dessus, il n'est pas difficile de conclure que Node.js possède trois caractéristiques : côté serveur, E/S non bloquantes et piloté par les événements. Ensuite, nous analysons les trois fonctionnalités :

  • ① Côté serveur : Littéralement, Node.js s'exécute côté serveur et fournit des services environnementaux pour l'environnement d'exécution de Javascript.

  • ② Asynchrone non bloquant : Node.js adopte un mécanisme d'E/S non bloquant, qui ne provoquera aucun blocage lors de l'exécution des opérations d'E/S. Une fois terminée, l'exécution de l'opération sera notifiée dans le formulaire. du temps.

    Par exemple, une fois le code qui accède à la base de données exécuté, le code suivant sera exécuté immédiatement et le code de traitement du résultat de retour de la base de données est placé dans la fonction de rappel, améliorant ainsi l'efficacité d'exécution du programme.

  • ③ Piloté par les événements : piloté par les événements signifie que lorsqu'une nouvelle demande arrive, la demande sera placée dans une file d'attente d'événements, puis une boucle est utilisée pour détecter les changements d'état des événements dans la file d'attente en cas de changement d'état. est un événement détecté, puis exécutez le code de traitement correspondant à l'événement, qui est généralement une fonction de rappel

    Par exemple, en lisant un fichier, une fois le fichier lu, l'état correspondant sera déclenché, puis traité via la fonction de rappel correspondante

Extension des connaissances :

node.js est un service monothread (JS est à l'origine monothread côté navigateur et côté serveur). En même temps, il possède le plus grand écosystème de bibliothèques open source au monde : npm.

Quels sont les avantages et les inconvénients de Node.js ?

> Avantages

  • Meilleures performances dans la gestion des scénarios à haute concurrence

  • Convient aux applications gourmandes en E/S, la valeur est que lorsque l'application s'exécute à la limite, l'utilisation du processeur est encore relativement faible, la plupart du temps est consacré aux opérations de lecture et d'écriture d'E/S sur la mémoire du disque dur

> convient aux applications gourmandes en CPU

Prend uniquement en charge le processeur monocœur et ne peut pas utiliser pleinement le CPU
  • Faible fiabilité Une fois qu'un certain lien du code tombe en panne, l'ensemble du système s'effondre.
  • Que peut faire Node.js ?

Quelles sont les fonctionnalités de node.js

Fournir des données au navigateur pour affichageEnregistrer les données soumises par l'utilisateur

Statistiques et analyse des données
  • Système de modules Node.js

dans Node.js ;<br> Dans <code>Node.js, plusieurs JavaScriptrequire method. /code> fichier de script ;
require ne peut être chargé qu'en exécutant le code qu'il contient. Puisque les fichiers sont dans la portée du module, il n'y aura pas de problème de pollution ;

. Le module est complètement fermé

Node.js 中没有全局作用域的概念;
Node.js 中,只能通过 require 方法来加载执行多个 JavaScript 脚本文件;
require 加载只能是执行其中的代码,文件与文件之间由于是模块作用域,所以不会有污染的问题;

  • 模块完全是封闭的

  • 外部无法访问内部

  • 内部也无法访问外部

模块作用域虽然可以带来了一些好处,可以加载执行多个文件,可以完全避免变量命名冲突污染的问题。
但是某些情况下,模块与模块是需要进行通信的。在每个模块中,都提供了一个对象:‘exports’,该对象默认是一个空对象。
在使用过程中,需要被外部访问使用的成员手动的挂载到 ’exports‘ 接口对象中,
然后谁来 ’require‘ 这个模块,谁就可以得到模块内部的 exports 接口对象。

核心模块

核心模块是由 Node 提供的一个个的具名的模块,它们都有自己特殊的名称标识,例如:

  • fsL'extérieur ne peut pas accéder à l'intérieur

    🎜🎜🎜L'intérieur ne peut pas accéder à l'extérieur🎜🎜🎜🎜Bien que la portée du module puisse apporter certains avantages, plusieurs fichiers peuvent être chargés et exécutés, et la dénomination des variables les conflits peuvent être complètement évités, problème de pollution.
    Cependant, dans certains cas, les modules doivent communiquer entre eux. Dans chaque module, un objet est fourni : 'exports', qui est un objet vide par défaut.
    Pendant l'utilisation, les membres qui doivent être accessibles en externe sont montés manuellement dans l'objet d'interface 'exports'
    Ensuite, qui va 'require' >'. Avec ce module, n'importe qui peut obtenir l'objet d'interface exports à l'intérieur du module. 🎜🎜🎜Modules principaux🎜🎜🎜Les modules principaux sont des modules nommés fournis par Node. Ils ont tous leurs propres identifiants de nom spéciaux, tels que : 🎜🎜🎜🎜fs : module d'opération de fichier🎜.
  • http : module de création de services réseau http:网络服务构建模块

  • os:操作系统信息模块

  • path:路径处理模块

所有核心模块在使用的时候都必须手动的先使用 require 方法来加载,然后才可以使用,例如: ‘var fs = require('fs')’

Node.js 应用场景

借助Nodejs的特点和弊端,其应用场景分类如下:

  • 善于I/O,不善于计算。因为Nodejs是一个单线程,如果计算(同步)太多,则会阻塞这个线程;

  • 大量并发的I/O,应用程序内部并不需要进行非常复杂的处理;

  • websocket 配合,开发长连接的实时交互应用程序,即:实时通讯 ;

具体场景可以表现为如下:

① 用户表单收集系统、后台管理系统、实时交互系统、考试系统、联网软件、高并发量的web应用程序;

② 基于web、canvas等多人联网游戏;

③ 基于 web 的多人实时聊天客户端、聊天室、图文直播;

④ 单页面浏览器应用程序;

⑤操作数据库、为前端和移动端提供基于json的API;

其实,Node.js

os : module d'informations sur le système d'exploitation

🎜🎜path : module de traitement des chemins🎜 🎜🎜Tous les modules de base doivent être chargés manuellement à l'aide de la méthode require avant de pouvoir être utilisés, par exemple : 'var fs = require('fs' )'🎜🎜Scénarios d'application Node.js🎜🎜En utilisant les caractéristiques et les inconvénients de Nodejs, ses scénarios d'application sont classés comme suit : 🎜
    🎜🎜Bon en E/S mais pas bon en calcul. Parce que Nodejs est un seul thread, s'il y a trop de calculs (synchronisation), ce thread sera bloqué 🎜🎜🎜🎜Un grand nombre d'E/S simultanées ne nécessite pas de traitement très complexe à l'intérieur du application ; 🎜🎜🎜🎜 coopère avec websocket pour développer des applications interactives en temps réel connectées de longue date, c'est-à-dire : une communication en temps réel 🎜🎜
🎜Le un scénario spécifique peut être exprimé comme suit :🎜🎜① Système de collecte de formulaires utilisateur, système de gestion d'arrière-plan, système d'interaction en temps réel, système d'examen, logiciel de mise en réseau, applications Web à haute concurrence 🎜🎜② Basé sur web, canvas et autres jeux en ligne multi-joueurs ; 🎜🎜③ Client de chat en temps réel multi-personnes, salon de discussion, diffusion graphique en direct basé sur <code>web ; 🎜🎜④ Application de navigateur d'une seule page ; 🎜⑤ Base de données d'exploitation, fournie pour les terminaux frontaux et mobiles API basée sur json ; 🎜🎜En fait, Node.js peut réaliser presque toutes les applications, mais ce qu'il faut considérer est de savoir si le scénario actuel est adapté à l'utilisation de Node.js, et si l'utilisation de Node.js est la "solution optimale" ", les problèmes de performances doivent être pris en compte. 🎜🎜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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Nodejs est-il un framework backend ? Nodejs est-il un framework backend ? Apr 21, 2024 am 05:09 AM

Node.js peut être utilisé comme framework backend car il offre des fonctionnalités telles que des performances élevées, l'évolutivité, la prise en charge multiplateforme, un écosystème riche et une facilité de développement.

Comment connecter Nodejs à la base de données MySQL Comment connecter Nodejs à la base de données MySQL Apr 21, 2024 am 06:13 AM

Pour vous connecter à une base de données MySQL, vous devez suivre ces étapes : Installez le pilote mysql2. Utilisez mysql2.createConnection() pour créer un objet de connexion contenant l'adresse de l'hôte, le port, le nom d'utilisateur, le mot de passe et le nom de la base de données. Utilisez connection.query() pour effectuer des requêtes. Enfin, utilisez connection.end() pour mettre fin à la connexion.

Quelles sont les variables globales dans nodejs Quelles sont les variables globales dans nodejs Apr 21, 2024 am 04:54 AM

Les variables globales suivantes existent dans Node.js : Objet global : global Module principal : processus, console, nécessiter Variables d'environnement d'exécution : __dirname, __filename, __line, __column Constantes : undefined, null, NaN, Infinity, -Infinity

Y a-t-il une grande différence entre nodejs et java ? Y a-t-il une grande différence entre nodejs et java ? Apr 21, 2024 am 06:12 AM

Les principales différences entre Node.js et Java résident dans la conception et les fonctionnalités : Piloté par les événements ou piloté par les threads : Node.js est piloté par les événements et Java est piloté par les threads. Monothread ou multithread : Node.js utilise une boucle d'événements monothread et Java utilise une architecture multithread. Environnement d'exécution : Node.js s'exécute sur le moteur JavaScript V8, tandis que Java s'exécute sur la JVM. Syntaxe : Node.js utilise la syntaxe JavaScript, tandis que Java utilise la syntaxe Java. Objectif : Node.js convient aux tâches gourmandes en E/S, tandis que Java convient aux applications de grande entreprise.

Quelle est la différence entre les fichiers npm et npm.cmd dans le répertoire d'installation de nodejs ? Quelle est la différence entre les fichiers npm et npm.cmd dans le répertoire d'installation de nodejs ? Apr 21, 2024 am 05:18 AM

Il existe deux fichiers liés à npm dans le répertoire d'installation de Node.js : npm et npm.cmd. Les différences sont les suivantes : différentes extensions : npm est un fichier exécutable et npm.cmd est un raccourci de fenêtre de commande. Utilisateurs Windows : npm.cmd peut être utilisé à partir de l'invite de commande, npm ne peut être exécuté qu'à partir de la ligne de commande. Compatibilité : npm.cmd est spécifique aux systèmes Windows, npm est disponible multiplateforme. Recommandations d'utilisation : les utilisateurs Windows utilisent npm.cmd, les autres systèmes d'exploitation utilisent npm.

Nodejs est-il un langage de développement back-end ? Nodejs est-il un langage de développement back-end ? Apr 21, 2024 am 05:09 AM

Oui, Node.js est un langage de développement backend. Il est utilisé pour le développement back-end, notamment la gestion de la logique métier côté serveur, la gestion des connexions à la base de données et la fourniture d'API.

Enseignement du nœud PI: Qu'est-ce qu'un nœud PI? Comment installer et configurer le nœud PI? Enseignement du nœud PI: Qu'est-ce qu'un nœud PI? Comment installer et configurer le nœud PI? Mar 05, 2025 pm 05:57 PM

Explication détaillée et guide d'installation pour les nœuds de pignon Cet article introduira l'écosystème de pignon en détail - nœuds PI, un rôle clé dans l'écosystème de pignon et fournir des étapes complètes pour l'installation et la configuration. Après le lancement du réseau de test de la blockchain pèse, les nœuds PI sont devenus une partie importante de nombreux pionniers participant activement aux tests, se préparant à la prochaine version du réseau principal. Si vous ne connaissez pas encore Pinetwork, veuillez vous référer à ce qu'est Picoin? Quel est le prix de l'inscription? PI Utilisation, exploitation minière et sécurité. Qu'est-ce que Pinetwork? Le projet Pinetwork a commencé en 2019 et possède sa pièce exclusive de crypto-monnaie PI. Le projet vise à en créer un que tout le monde peut participer

Comment déployer le projet nodejs sur le serveur Comment déployer le projet nodejs sur le serveur Apr 21, 2024 am 04:40 AM

Étapes de déploiement de serveur pour un projet Node.js : Préparez l'environnement de déploiement : obtenez l'accès au serveur, installez Node.js, configurez un référentiel Git. Créez l'application : utilisez npm run build pour générer du code et des dépendances déployables. Téléchargez le code sur le serveur : via Git ou File Transfer Protocol. Installer les dépendances : connectez-vous en SSH au serveur et installez les dépendances de l'application à l'aide de npm install. Démarrez l'application : utilisez une commande telle que node index.js pour démarrer l'application ou utilisez un gestionnaire de processus tel que pm2. Configurer un proxy inverse (facultatif) : utilisez un proxy inverse tel que Nginx ou Apache pour acheminer le trafic vers votre application

See all articles