Maison >interface Web >js tutoriel >Comment « module.exports » définit-il l'interface d'un module Node.js ?
Comprendre 'module.exports' dans Node.js
Les modules Node.js permettent de diviser le code en unités réutilisables. La propriété 'module.exports' joue un rôle crucial dans la définition de l'interface d'un module, permettant à d'autres modules d'accéder à ses fonctionnalités.
Objectif de 'module.exports'
'module.exports' est un objet qui représente l'API exposée d'un module. Il est renvoyé à la suite d'un appel 'require' lorsque d'autres modules importent le module.
Comment utiliser 'module.exports'
Dans le code du module, vous remplissez généralement 'module.exports' avec les objets, fonctions ou données exportés auxquels d'autres modules devraient pouvoir accéder. Par exemple :
// mymodule.js let myFunc1 = function() { ... }; let myFunc2 = function() { ... }; module.exports = { myFunc1, myFunc2 };
Exemple en pratique
Dans le code appelant, vous pouvez désormais importer le module et accéder à sa fonctionnalité exportée :
// main.js const myModule = require('./mymodule'); myModule.myFunc1();
Syntaxe d'exportation alternative
En plus de la syntaxe d'objet présentée ci-dessus, vous pouvez exportez également des éléments individuels en utilisant la propriété « exportations ». Cependant, « exports » alias « module.exports », il est donc recommandé d'utiliser « module.exports » pour des raisons de cohérence.
Maintenir les exportations
Si vous souhaitez écraser 'exports' entièrement, affectez votre nouvel objet à la fois à 'exports' et 'module.exports' pour vous assurer que l'interface reste liée au module correctement.
Renommer les éléments exportés
Lors de l'ajout de propriétés à « module.exports », vous n'êtes pas obligé d'utiliser les mêmes noms que leurs définitions internes dans le module. Cela vous permet de créer des alias faciles à retenir pour les fonctionnalités exposées.
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!