Le principe, l'utilisation et certains scénarios d'application courants du système de modules Node.js

Node.js est un environnement de programmation backend open source et multiplateforme basé sur l'environnement d'exécution JavaScript. Le système de modules de Node.js est l'une de ses fonctionnalités principales, qui offre un moyen pratique et modulaire d'organiser et de réutiliser le code. Cet article présentera en détail le principe, l'utilisation et certains scénarios d'application courants du système de modules Node.js.

Le rôle du système de modules

La fonction principale du système de modules est d'encapsuler des codes avec des fonctions similaires dans un fichier séparé, de sorte que la structure du code soit plus claire et que les modules soient isolés les uns des autres. Cela peut également nous aider à améliorer la maintenabilité et la réutilisabilité du code, en réduisant les conflits de noms et les problèmes de variables globales.

Classement des modules

Dans Node.js, les modules peuvent être divisés en deux catégories : les modules de base et les modules de fichiers.

module de base

Le module core est un module officiel fourni par Node.js, qui peut être requireimporté et utilisé directement via la méthode sans installation préalable. Par exemple, httpdes modules pour la création de serveurs et la gestion des requêtes HTTP, fsdes modules pour les opérations sur les fichiers, etc.

module de fichiers

Le module de fichier est un module écrit par nous-mêmes et requireimporté via la méthode. Un module de fichier peut être un fichier JavaScript ( .js), un fichier JSON ( .json) ou une extension C++ compilée ( .node).

Exportation et importation de modules

Dans Node.js, le contenu d'un module peut module.exportsêtre exporté via l'objet, et d'autres modules peuvent requireimporter le contenu via la méthode.

exporter

Nous pouvons affecter le contenu qui doit être exporté aux module.exportspropriétés ou aux méthodes de l'objet. Par exemple, nous pourrions math.jsdéfinir ce qui suit dans un fichier appelé :

function add(a, b) {
    
    
  return a + b;
}

function subtract(a, b) {
    
    
  return a - b;
}

module.exports = {
    
    
  add,
  subtract
};

importer

Pour utiliser le contenu exporté dans un autre module, nous pouvons utiliser requirela méthode et l'affecter à une variable. Par exemple, dans un autre fichier :

const math = require('./math.js');

console.log(math.add(1, 2)); // 输出:3
console.log(math.subtract(5, 3)); // 输出:2

Règles de recherche de module

Lorsque vous utilisez requirela méthode pour importer un module, Node.js recherchera le fichier de module selon certaines règles de recherche.

module de base

Pour les modules de base, Node.js cherchera d'abord dans la liste des modules de base intégrés. Si le module principal correspondant est trouvé, le module est retourné directement.

module de fichiers

Pour les modules de fichiers, Node.js recherche dans l'ordre suivant :

  1. Si l'import est un chemin (commençant par ./ou ../), il sera traité comme un chemin relatif, et le fichier du module se trouvera dans le répertoire où se trouve le fichier courant.
  2. Si l'import est un chemin absolu (commençant par /), il sera traité comme un chemin absolu et le fichier de module sera recherché sous ce chemin.
  3. node_modulesSi l'importation n'est pas un chemin, Node.js recherchera des modules dans tous les niveaux de dossiers selon certaines règles . node_modulesLa règle spécifique est de démarrer à partir du répertoire où se trouve le fichier en cours, de rechercher tour à tour les dossiers dans le répertoire supérieur et d'atteindre le répertoire racine. Dans chaque node_modulesdossier, le fichier de module correspondant sera recherché en fonction du nom du module importé.

cache de modules

Node.js met en cache les modules chargés pour améliorer les performances. Cela signifie que si un module est chargé plusieurs fois, il ne sera exécuté qu'une seule fois et renverra le même objet.

Dépendances circulaires des modules

Lorsque deux modules dépendent l'un de l'autre, cela peut entraîner le problème de la dépendance circulaire. Par exemple, le module A dépend du module B et le module B dépend du module A. Afin d'éviter le problème des dépendances circulaires, Node.js chargera d'abord les dépendances de premier niveau du module lors de l'exécution, puis chargera les autres dépendances couche par couche.

Scénarios d'application du système de modules

Le système de modules de Node.js peut être appliqué dans de nombreux scénarios, voici quelques scénarios d'application courants :

Construire un serveur Web

L'utilisation du système de modules permet d'organiser et de réutiliser facilement le code et de créer un serveur Web bien structuré et extensible.

fonctionnement de la base de données

En encapsulant les opérations de base de données dans des modules, ces modules peuvent être réutilisés à différents endroits. Par exemple, utilisez la même logique de requête de base de données dans différents gestionnaires de routage.

opération de fichier

L'opération de fichier est un scénario d'application courant de Node.js. En modularisant, nous pouvons mieux organiser et réutiliser le code lié aux fichiers.

Développement d'une bibliothèque d'outils

En encapsulant les fonctions d'outil couramment utilisées dans des modules, ces fonctions peuvent être facilement réutilisées dans plusieurs projets et l'efficacité du développement peut être améliorée.

Résumer

Le système de modules de Node.js est l'une de ses fonctionnalités principales, qui fournit un moyen pratique, modulaire et réutilisable d'organiser le code. En important et en exportant des modules, nous pouvons encapsuler ensemble le code des fonctions associées pour améliorer la maintenabilité et la réutilisabilité du code. Dans le même temps, le système de modules de Node.js possède également des fonctionnalités telles que la recherche de règles, la mise en cache et la résolution des dépendances circulaires. La maîtrise des principes et de l'utilisation du système de modules Node.js est très importante pour développer des applications Node.js efficaces et maintenables.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_43025343/article/details/131894976
conseillé
Classement