Maison > interface Web > js tutoriel > Comprendre module.exports et exportations dans Node.js

Comprendre module.exports et exportations dans Node.js

William Shakespeare
Libérer: 2025-02-09 08:53:11
original
959 Les gens l'ont consulté

Understanding module.exports and exports in Node.js

Les modules Node.js sont des unités de code autonomes, promouvant la réutilisabilité et simplifiant le développement d'applications. Cet article explore la création, l'exportation et l'importation des modules à l'aide du format CommonJS, la norme Node.js.

Concepts clés:

  • Développement modulaire dans Node.js: Les modules sont essentiels pour construire des applications Node.js efficaces, maintenables et réutilisables.
  • Format du module CommonJS: Cet article se concentre sur le format CommonJS (require et module.exports), répandu dans Node.js et l'écosystème NPM. D'autres formats (AMD, ESM, System.Register, UMD) existent mais ne sont pas couverts ici.
  • Modules d'exportation et d'importation: Des instructions détaillées sont fournies sur la création, l'exportation et l'utilisation de modules. Cela inclut l'exportation de plusieurs valeurs, en utilisant module.exports pour les exportations par défaut, et la compréhension des nuances de module.exports contre exports.

Formats de module Node.js (aperçu bref):

Bien que divers formats de modules existent en JavaScript, ce guide se concentre sur CommonJS, la norme pour Node.js. Les autres formats incluent: AMD (définition de module asynchrone), ESM (modules ES), System.Register et UMD (Définition du module universel).

en utilisant des modules intégrés:

Node.js propose des modules intégrés accessibles via le mot-clé require. Par exemple, le module de système de fichiers (fs) fournit des fonctions comme readdir pour la liste des contenus du répertoire:

const fs = require('fs');
const folderPath = '/home/jim/Desktop/';

fs.readdir(folderPath, (err, files) => {
  files.forEach(file => {
    console.log(file);
  });
});
Copier après la connexion
Copier après la connexion

Les modules CommonJS chargent de manière synchrone, traitée dans leur ordre d'apparence.

Création et exportation d'un module:

Créons un module user.js:

const getName = () => 'Jim';
exports.getName = getName;
Copier après la connexion

Ensuite, importez-le dans index.js:

const user = require('./user');
console.log(`User: ${user.getName()}`);
Copier après la connexion

Running node index.js sort "User: Jim". L'objet exports rend getName disponible pour l'importation. Le préfixe ./ dans require indique un fichier local; L'extension de fichier est omise.

Exportation de plusieurs éléments:

Plusieurs méthodes et valeurs peuvent être exportées:

const getName = () => 'Jim';
const getLocation = () => 'Munich';
const dateOfBirth = '12.01.1982';

exports.getName = getName;
exports.getLocation = getLocation;
exports.dob = dateOfBirth;
Copier après la connexion

Importez-les et utilisez-les dans index.js au besoin. Notez que les noms exportés (dob ici) peuvent différer des noms de variable d'origine.

Syntaxe d'exportation alternative:

Les exportations peuvent être définies en ligne:

exports.getName = () => 'Jim';
exports.getLocation = () => 'Munich';
exports.dob = '12.01.1982';
Copier après la connexion

IMPORTES DE RÉTUCTION:

La destructeur permet des importations sélectives:

const { getName, dob } = require('./user');
console.log(`${getName()} was born on ${dob}.`);
Copier après la connexion

Exportations par défaut en utilisant module.exports:

Pour les modules exportant une seule entité, module.exports est préféré:

const fs = require('fs');
const folderPath = '/home/jim/Desktop/';

fs.readdir(folderPath, (err, files) => {
  files.forEach(file => {
    console.log(file);
  });
});
Copier après la connexion
Copier après la connexion

module.exports vs exports:

exports est initialement une référence à module.exports. Cependant, la réaffectation directe module.exports remplace l'ensemble de l'objet d'exportation. Il est de la meilleure pratique d'utiliser régulièrement module.exports pour éviter un comportement inattendu.

Conclusion:

Les modules

sont fondamentaux pour le développement efficace de Node.js. Cet article fournit une base solide pour les comprendre et les utiliser efficacement. Pour plus de détails, consultez les ressources fournies.

FAQS:

La section FAQ fournie est déjà bien structurée et informative. Aucun changement nécessaire.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal