Node.js führt das Konzept des Moduls (Modul) ein. Ein Modul kann Funktionen, Variablen usw. über Modul.exports oder Exporte exportieren, damit andere JavaScript -Skripte über die Funktion required () eingeführt und verwendet werden können.
Der Anfangswert von modul.exports ist ein leeres Objekt {}, daher ist der Anfangswert der Exporte auch {}. Exporte ist ein Verweis auf modul.exports, das ungefähr so im Modul ist:
exports = module.exports = {};Beispielsweise ist es sehr einfach, ein Modul in node.js zu erstellen. Eine Datei ist ein Modul. Wir erstellen daher eine Modulname.js -Datei und verwenden Exporte und fordern Objekte, Schnittstellen und Referenzmodule für die Außenwelt bereitzustellen.
name.js
var myname = function () {var name = 'amberyLopez'; console.log (name);}; exports.myname = myName;Dies erfordert dies bei der Verwendung
app.js
var name = require ('./ name');Wenn die von uns erstellte Datei name.js erstellt wird, um Schnittstellen und Referenzmodule extern mithilfe von Modul.exports bereitzustellen und Objekte zu erfordern.
name.js
var myname = function () {var name = 'amberyLopez'; console.log (name);}; module.exports = myName;app.js
var name = require ('./ name');Die Exportezuweisung fügt dem leeren Objektmodul. Warum verwenden Exporte die Methode zum Hinzufügen von Attributen anstelle von exports = myName?
Exporte sind der Wert, der modul.exports verweist. Wenn die Exporte geändert werden, wird modul.exports nicht geändert. Beim Exportieren ist die tatsächliche Exportausführung modul.exports und nicht exportiert.
Wenn name.js in geändert wird in
var myname = function () {var name = 'amberyLopez'; console.log (name);}; exports = myName;app.js
var name = required ('./ name'); <br> console.log (name);Ein Fehler wird bei der Durchführung der Operation gemeldet. Da im vorherigen Beispiel das Hinzufügen von Attributen zu Exporten und nun auf die durch Exporte hingewiesene Speicher angezeigt wurde, wird Exporte und Modul nicht mehr auf denselben Speicher verweist, dh der von Module angezeigte Speicher hat sich nicht geändert und ist immer noch ein leeres Objekt {}.