Node.js présente le concept de module (module). Un module peut exporter des fonctions, des variables, etc. via module.exports ou exportations pour activer d'autres scripts JavaScript à introduire et à utiliser via la fonction requis ().
La valeur initiale de module.exports est un objet vide {}, donc la valeur initiale des exportations est également {}. Les exportations sont une référence à module.exports, ce qui est à peu près comme celui-ci à l'intérieur du module:
exports = module.exports = {};Par exemple, la création d'un module dans Node.js est très simple. Un fichier est un module. Nous créons donc un fichier de nom.js de module et utilisons des exportations et nécessitons des objets pour fournir des interfaces et des modules de référence au monde extérieur.
name.js
var myname = function () {var name = 'Amberylopez'; console.log (name);}; export.myname = myName;Cela nécessite cela lorsque vous l'utilisez
app.js
var name = require ('./ name');Si le fichier name.js que nous créons est de fournir des interfaces et des modules de référence à l'aide de module.exports et de nécessiter des objets.
name.js
var myname = function () {var name = 'Amberylopez'; console.log (name);}; module.exports = myName;app.js
var name = require ('./ name');L'attribution des exportations ajoute en fait simplement l'attribut MyName au module d'objet vide.Exports. Pourquoi les exportations utilisent-elles la méthode d'ajout d'attributs au lieu d'exportations = MyName?
Les exportations sont la valeur qui fait référence à module.exports. Lorsque les exportations sont modifiées, Module.Exports ne sera pas modifié. Lorsque les exportations sont exportées, l'exécution d'exportation réelle est module.exports, pas les exportations.
Si name.js est modifié en
var myname = function () {var name = 'Amberylopez'; console.log (name);}; exports = myName;app.js
var name = require ('./ name'); <br> console.log (name);Une erreur sera signalée lorsque l'opération sera effectuée. Parce que, dans l'exemple précédent, en ajoutant des attributs aux exportations, et maintenant la mémoire pointée par les exportations a été modifiée, les exportations et modules.Exports ne pointent plus la même mémoire, c'est-à-dire que la mémoire pointée par module.exports n'a pas changé, et est toujours un objet vide {}, donc une erreur sera rapportée.