Node.js
Comment les modules sont chargés
Recherche…
Mode global
Si vous avez installé Node en utilisant le répertoire par défaut, alors que NPM installe les packages dans /usr/local/lib/node_modules
. Si vous tapez ce qui suit dans le shell, NPM recherche, télécharge et installe la dernière version du package nommé sax dans le répertoire /usr/local/lib/node_modules/express
:
$ npm install -g express
Assurez-vous de disposer de droits d'accès suffisants au dossier. Ces modules seront disponibles pour tous les processus de noeud qui seront exécutés sur cette machine.
En installation en mode local. Npm charge et installe les modules dans les dossiers de travail actuels en créant un nouveau dossier appelé node_modules
par exemple si vous êtes dans /home/user/apps/my_app
un nouveau dossier sera créé appelé node_modules
/home/user/apps/my_app/node_modules
s'il n'existe pas déjà
Chargement des modules
Lorsque l' on parle du module dans le code, premier noeud recherche le node_module
dossier dans le dossier référencé dans l' instruction requise Si le nom du module n'est pas relatif et n'est pas un module de base, le nœud essaiera de le trouver à l' intérieur du node_modules
dossier dans le courant annuaire. Par exemple, si vous procédez comme suit, Node essaiera de rechercher le fichier ./node_modules/myModule.js
:
var myModule = require('myModule.js');
Si Node ne parvient pas à trouver le fichier, il examinera le dossier parent nommé ../node_modules/myModule.js
. S'il échoue à nouveau, il essaiera le dossier parent et continuera à descendre jusqu'à ce qu'il atteigne la racine ou trouve le module requis.
Vous pouvez également omettre l'extension .js
si vous le souhaitez, auquel cas le nœud ajoutera l'extension .js
et recherchera le fichier.
Chargement d'un module de dossier
Vous pouvez utiliser le chemin d'accès d'un dossier pour charger un module comme celui-ci:
var myModule = require('./myModuleDir');
Si vous le faites, Node effectuera une recherche dans ce dossier. Node présume que ce dossier est un package et essaiera de rechercher une définition de package. Cette définition de package doit être un fichier nommé package.json
. Si ce dossier ne contient pas de fichier de définition de package nommé package.json
, le point d'entrée du package prendra la valeur par défaut index.js
et Node recherchera, dans ce cas, un fichier sous le chemin d'accès ./myModuleDir/index.js
.
Le dernier recours si le module est introuvable dans l'un des dossiers est le dossier d'installation du module global.