Maison interface Web js tutoriel Explication détaillée de la façon dont Node.js charge les modules et installe les instances de module

Explication détaillée de la façon dont Node.js charge les modules et installe les instances de module

Jul 24, 2017 am 10:17 AM
javascript node.js 安装

Les modules dans Node.js peuvent obtenir des références de modules via des chemins ou des noms de fichiers. La référence du module sera mappée sur un chemin de fichier js, sauf s'il s'agit d'un module intégré Node. Les modules intégrés de Node exposent aux développeurs certaines API couramment utilisées et ils sont préchargés au démarrage du processus Node.

D'autres, tels que les modules tiers ou les modules locaux installés via NPM, chaque module exposera une API publique. Pour que les développeurs puissent l'importer. Par exemple, après l'exécution de

var mod = require('module_name')
Copier après la connexion

, Node chargera les modules intégrés ou les modules installés via NPM. La fonction require renvoie un objet. L'API exposée par l'objet peut être une fonction, un objet ou un attribut tel qu'une fonction, un tableau ou même tout type d'objet JS.

Voici les mécanismes de chargement et de mise en cache des modules de nœuds

1) Charger le module intégré (A Core Module)
2) Charger le module de fichiers (A File Module)
3) Chargez le module de répertoire de fichiers (A Folder Module)
4) Chargez le module dans node_modules
5) Mettez automatiquement en cache le module chargé

1 Chargez le module intégré<🎜. >

Les modules intégrés de Node sont compilés sous forme binaire et sont référencés directement par leur nom au lieu du chemin du fichier. Lorsqu'un module tiers porte le même nom qu'un module intégré, le module intégré écrasera le module tiers portant le même nom. Par conséquent, lors de la dénomination, vous devez faire attention à ne pas avoir le même nom que celui du module intégré. Par exemple, si vous obtenez un module http

var http = require(&#39;http&#39;)
Copier après la connexion
, le http renvoyé est le module intégré de Node qui implémente la fonction HTTP.

2. Chargez le module de fichier

Chemin absolu

var myMod = require(&#39;/home/base/my_mod&#39;)
Copier après la connexion
ou chemin relatif

var myMod = require(&#39;./my_mod&#39;)
Copier après la connexion
Notez que l'extension est ignorée ici". js", les éléments suivants sont équivalents

var myMod = require(&#39;./my_mod&#39;)
var myMod = require('./my_mod.js')
Copier après la connexion
3. Charger le module répertoire de fichiers

peut directement nécessiter un répertoire, en supposant qu'il existe un répertoire nommé dossier, tel que

var myMod = require(&#39;./folder&#39;)
Copier après la connexion
À ce stade, Node recherchera dans tout le répertoire du dossier. Node supposera que le dossier est un package et essaiera de trouver le fichier de définition du package package.json. Si le répertoire du dossier ne contient pas le fichier package.json, Node supposera que le fichier principal par défaut est index.js et chargera index.js. Si index.js n'existe pas non plus, le chargement échouera.

Si la structure des répertoires est la suivante

Explication détaillée de la façon dont Node.js charge les modules et installe les instances de module

package.json est défini comme suit

{
    "name": "pack",
    "main": "modA.js"
}
Copier après la connexion
À ce stade, require(' ./folder') renverra le module modA.js. Si package.json n'existe pas, le module index.js sera renvoyé. Si index.js n’existe pas non plus, une exception de chargement se produira.

4. Chargez le module dans node_modules

Si le nom du module n'est pas un chemin ou un module intégré, Node tentera de rechercher dans le dossier node_modules du répertoire actuel. Si les node_modules dans le répertoire actuel ne sont pas trouvés, Node recherchera à partir des node_modules dans le répertoire parent et récurera jusqu'au répertoire racine.

Ne vous inquiétez pas, la commande npm nous permet d'installer, désinstaller et mettre à jour facilement le répertoire node_modules.

5. Mise en cache automatique des modules chargés

Node mettra en cache les modules chargés sans avoir à chercher à nouveau à chaque fois. Voici un exemple

modA.js

console.log(&#39;模块modA开始加载...&#39;)
exports = function() {
    console.log(&#39;Hi&#39;)
}
console.log(&#39;模块modA加载完毕&#39;)
Copier après la connexion
init.js

var mod1 = require(&#39;./modA&#39;)
var mod2 = require(&#39;./modA&#39;)
console.log(mod1 === mod2)
Copier après la connexion
Exécution en ligne de commande :

node init.js

Entrez comme suit

Explication détaillée de la façon dont Node.js charge les modules et installe les instances de module

Vous pouvez voir que même si require est exécuté deux fois, modA.js n'est toujours exécuté qu'une seule fois. mod1 et mod2 sont identiques, c'est-à-dire que les deux références pointent vers le même objet module.

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)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois 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)

Solution au problème selon lequel le pack de langue chinoise ne peut pas être installé sur le système Win11 Solution au problème selon lequel le pack de langue chinoise ne peut pas être installé sur le système Win11 Mar 09, 2024 am 09:48 AM

Solution au problème selon lequel le système Win11 ne peut pas installer le pack de langue chinoise Avec le lancement du système Windows 11, de nombreux utilisateurs ont commencé à mettre à niveau leur système d'exploitation pour découvrir de nouvelles fonctions et interfaces. Cependant, certains utilisateurs ont constaté qu'ils ne parvenaient pas à installer le pack de langue chinoise après la mise à niveau, ce qui perturbait leur expérience. Dans cet article, nous discuterons des raisons pour lesquelles le système Win11 ne peut pas installer le pack de langue chinoise et proposerons des solutions pour aider les utilisateurs à résoudre ce problème. Analyse des causes Tout d'abord, analysons l'incapacité du système Win11 à

Impossible d'installer les ajouts d'invités dans VirtualBox Impossible d'installer les ajouts d'invités dans VirtualBox Mar 10, 2024 am 09:34 AM

Vous ne pourrez peut-être pas installer des ajouts d'invités sur une machine virtuelle dans OracleVirtualBox. Lorsque nous cliquons sur Périphériques> InstallGuestAdditionsCDImage, cela renvoie simplement une erreur comme indiqué ci-dessous : VirtualBox - Erreur : Impossible d'insérer le disque virtuel C : Programmation de fichiersOracleVirtualBoxVBoxGuestAdditions.iso dans la machine Ubuntu Dans cet article, nous comprendrons ce qui se passe lorsque vous Que faire lorsque vous Je ne peux pas installer les ajouts d'invités dans VirtualBox. Impossible d'installer les ajouts d'invités dans VirtualBox Si vous ne pouvez pas l'installer dans Virtua

Que dois-je faire si Baidu Netdisk est téléchargé avec succès mais ne peut pas être installé ? Que dois-je faire si Baidu Netdisk est téléchargé avec succès mais ne peut pas être installé ? Mar 13, 2024 pm 10:22 PM

Si vous avez téléchargé avec succès le fichier d'installation de Baidu Netdisk, mais que vous ne parvenez pas à l'installer normalement, il se peut qu'il y ait une erreur dans l'intégrité du fichier du logiciel ou qu'il y ait un problème avec les fichiers résiduels et les entrées de registre. prenons-en soin pour les utilisateurs. Présentons l'analyse du problème selon lequel Baidu Netdisk est téléchargé avec succès mais ne peut pas être installé. Analyse du problème du téléchargement réussi de Baidu Netdisk mais qui n'a pas pu être installé 1. Vérifiez l'intégrité du fichier d'installation : Assurez-vous que le fichier d'installation téléchargé est complet et n'est pas endommagé. Vous pouvez le télécharger à nouveau ou essayer de télécharger le fichier d'installation à partir d'une autre source fiable. 2. Désactivez le logiciel antivirus et le pare-feu : Certains logiciels antivirus ou pare-feu peuvent empêcher le bon fonctionnement du programme d'installation. Essayez de désactiver ou de quitter le logiciel antivirus et le pare-feu, puis réexécutez l'installation.

Comment installer des applications Android sur Linux ? Comment installer des applications Android sur Linux ? Mar 19, 2024 am 11:15 AM

L'installation d'applications Android sur Linux a toujours été une préoccupation pour de nombreux utilisateurs. Surtout pour les utilisateurs Linux qui aiment utiliser des applications Android, il est très important de maîtriser comment installer des applications Android sur les systèmes Linux. Bien qu'exécuter des applications Android directement sur Linux ne soit pas aussi simple que sur la plateforme Android, en utilisant des émulateurs ou des outils tiers, nous pouvons toujours profiter avec plaisir des applications Android sur Linux. Ce qui suit explique comment installer des applications Android sur les systèmes Linux.

Comment installer Podman sur Ubuntu 24.04 Comment installer Podman sur Ubuntu 24.04 Mar 22, 2024 am 11:26 AM

Si vous avez utilisé Docker, vous devez comprendre les démons, les conteneurs et leurs fonctions. Un démon est un service qui s'exécute en arrière-plan lorsqu'un conteneur est déjà utilisé dans n'importe quel système. Podman est un outil de gestion gratuit permettant de gérer et de créer des conteneurs sans recourir à un démon tel que Docker. Par conséquent, il présente des avantages dans la gestion des conteneurs sans nécessiter de services backend à long terme. De plus, Podman ne nécessite pas d'autorisations au niveau racine pour être utilisé. Ce guide explique en détail comment installer Podman sur Ubuntu24. Pour mettre à jour le système, nous devons d'abord mettre à jour le système et ouvrir le shell du terminal d'Ubuntu24. Pendant les processus d’installation et de mise à niveau, nous devons utiliser la ligne de commande. un simple

Mar 22, 2024 pm 04:40 PM

Durant leurs études au lycée, certains élèves prennent des notes très claires et précises, prenant plus de notes que d’autres dans la même classe. Pour certains, prendre des notes est un passe-temps, tandis que pour d’autres, c’est une nécessité lorsqu’ils oublient facilement de petites informations sur quelque chose d’important. L'application NTFS de Microsoft est particulièrement utile pour les étudiants qui souhaitent sauvegarder des notes importantes au-delà des cours réguliers. Dans cet article, nous décrirons l'installation des applications Ubuntu sur Ubuntu24. Mise à jour du système Ubuntu Avant d'installer le programme d'installation d'Ubuntu, sur Ubuntu24, nous devons nous assurer que le système nouvellement configuré a été mis à jour. Nous pouvons utiliser le "a" le plus célèbre du système Ubuntu

Étapes détaillées pour installer le langage Go sur un ordinateur Win7 Étapes détaillées pour installer le langage Go sur un ordinateur Win7 Mar 27, 2024 pm 02:00 PM

Étapes détaillées pour installer le langage Go sur un ordinateur Win7 Go (également connu sous le nom de Golang) est un langage de programmation open source développé par Google. Il est simple, efficace et offre d'excellentes performances de concurrence. Il convient au développement de services cloud, d'applications réseau et. systèmes back-end. Installer le langage Go sur un ordinateur Win7 permet de prendre rapidement en main le langage et de commencer à écrire des programmes Go. Ce qui suit présentera en détail les étapes pour installer le langage Go sur un ordinateur Win7 et joindra des exemples de code spécifiques. Étape 1 : Téléchargez le package d'installation du langage Go et visitez le site officiel de Go

Comment installer le langage Go sous le système Win7 ? Comment installer le langage Go sous le système Win7 ? Mar 27, 2024 pm 01:42 PM

L'installation du langage Go sous le système Win7 est une opération relativement simple. Suivez simplement les étapes suivantes pour réussir son installation. Ce qui suit présentera en détail comment installer le langage Go sous le système Win7. Étape 1 : Téléchargez le package d'installation du langage Go. Tout d'abord, ouvrez le site Web officiel du langage Go (https://golang.org/) et accédez à la page de téléchargement. Sur la page de téléchargement, sélectionnez la version du package d'installation compatible avec le système Win7 à télécharger. Cliquez sur le bouton Télécharger et attendez que le package d'installation soit téléchargé. Étape 2 : Installer la langue Go

See all articles