Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Comment Node.js Charge les Modules | Section
Fondamentaux de Node.js

bookComment Node.js Charge les Modules

Glissez pour afficher le menu

Pour travailler efficacement avec les modules dans Node.js, il est essentiel de comprendre comment Node.js les trouve et les charge. Ce processus est appelé résolution de module. Lorsque vous utilisez la fonction require pour importer un module, Node.js suit un algorithme spécifique pour localiser le fichier ou le package demandé. Le processus de résolution prend en compte les extensions de fichiers, la structure des dossiers, et même la présence de fichiers spéciaux comme package.json.

Node.js vérifie d'abord si le module requis est un module natif, tel que fs ou http. S'il ne s'agit pas d'un module natif, Node.js considère la chaîne passée à require comme un chemin relatif (commençant par ./ ou ../), un chemin absolu, ou un nom de module. Pour les chemins relatifs et absolus, Node.js tente de résoudre le fichier en vérifiant, dans l'ordre :

  • Si le fichier exact existe avec le nom donné ;
  • Si le fichier existe avec l'extension .js ajoutée ;
  • Si le fichier existe avec l'extension .json ajoutée ;
  • Si le fichier existe avec l'extension .node ajoutée.

Si le chemin pointe vers un répertoire, Node.js recherchera un fichier package.json dans ce répertoire. S'il en trouve un, il utilisera le champ main pour déterminer quel fichier charger. S'il n'y a pas de package.json ou de champ main, Node.js recherchera un fichier index.js, index.json ou index.node dans le répertoire.

Si vous requérez un module par son nom (et non par un chemin), Node.js le recherchera dans les dossiers node_modules, en commençant par le répertoire courant puis en remontant l'arborescence jusqu'à la racine.

app.js

app.js

copy
Note
Remarque

Node.js met en cache les modules après leur premier chargement. Cela signifie que si vous requérez plusieurs fois le même module, il n'est exécuté qu'une seule fois, les appels suivants retournent le même objet mis en cache. Cela améliore les performances et la cohérence dans l'ensemble de votre application.

question-icon

Complétez les blancs :
Lorsque vous utilisez require('./moduleName') dans Node.js, l'algorithme de résolution des modules vérifie dans l'ordre suivant :

  1. Si un fichier nommé moduleName existe ;
  2. Si un fichier nommé moduleName.___1___ existe ;
  3. Si un fichier nommé moduleName.___2___ existe ;
  4. Si un fichier nommé moduleName.___3___ existe.

Cliquez ou glissez-déposez des éléments et remplissez les blancs

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 11

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 1. Chapitre 11
some-alt