Maison > Article > interface Web > Tutoriel d'introduction minimaliste Nodejs (1) : module mécanisme_node.js
La spécification JavaScript (ECMAScript) ne définit pas une bibliothèque standard complète pouvant être utilisée par la plupart des programmes. CommonJS fournit un ensemble de spécifications de bibliothèque standard JavaScript. Node implémente la spécification CommonJS.
Bases du module
Dans Node, les modules et les fichiers ont une correspondance biunivoque. On définit un module :
Chargement des modules
Le nœud mettra en mémoire tampon les modules chargés pour éviter la surcharge liée au chargement :
Charger le module test.js plusieurs fois
Lors du chargement d'un fichier sans suffixe, Node essaiera d'ajouter un suffixe et chargera :
1..js (fichier source JavaScript)
2..nœud (module d'extension C/C)
3..json (fichier JSON)
Il existe plusieurs grandes catégories de modules :
1.Module de base. Les modules de base ont été compilés dans Node, et nous pouvons trouver ces modules de base dans le répertoire lib dans son code source. Modules de base communs : modules net, http, fs, etc.
2.Module Fichier. Les modules de fichiers sont chargés via un chemin relatif ou absolu, comme circle.js
nous avons vu ci-dessus3.Module personnalisé. Les modules personnalisés se trouvent dans le répertoire node_modules, et les différents modules que nous installons via npm sont placés dans le répertoire node_modules
Le module principal est toujours chargé en premier. S'il existe un module personnalisé http, alors le module principal http sera toujours chargé à la place du module personnalisé http. Lors du chargement d'un module personnalisé, recherchez d'abord le répertoire node_modules dans le répertoire courant, puis le répertoire node_modules sous le répertoire parent, et ainsi de suite jusqu'au répertoire racine.
require Lorsque le module chargé n'est pas un fichier, mais un répertoire, un tel répertoire est appelé un package. Il y a un fichier nommé package.json (fichier de description du package) dans le package, par exemple :
Où main indique le module qui doit être chargé. Si package.json n'existe pas dans le package ou si le module principal n'est pas spécifié dans package.json, Node tentera de charger index.js, index.node et index.json.
Lors du chargement d'un module JavaScript, le module chargé est enveloppé dans une fonction :
Le module, les exportations, __filename, __dirname, etc. accessibles par chaque module JavaScript sont en fait transmis via les paramètres de fonction. Du fait de cet emballage, les variables locales du module sont inaccessibles de l'extérieur. Mais parfois il y a des problèmes difficiles à comprendre, comme :
test1.js
test2.js
Chargez ces deux modules :
Les exportations sont passées au module en paramètre. Nous pouvons naturellement ajouter des attributs (ou des méthodes) à l'objet exports via exports.x, mais attribuer directement une valeur aux exportations (par exemple, exports = x) ne modifie que le formel. paramètres plutôt que la valeur réelle des paramètres, donc :
1. Lors de l'ajout d'attributs aux exportations, utilisez les exportations
2. Lors de l'attribution de valeurs aux exportations, utilisez module.exports
Pack
Selon les spécifications CommonJS, un package complet doit contenir :
Fichier de description du package 1.package.json
Répertoire de fichiers binaires 2.bin
3.lib Répertoire de codes JavaScript
4.doc répertoire des documents
5.test répertoire de codes de test
NPM est un outil de gestion de packages pour Node. Usage courant :
Voir la documentation de la commande :
Voir la documentation de la commande install.
Installer un package :
Supprimer un colis :