Heim > Web-Frontend > js-Tutorial > Hauptteil

exports und module.exports

伊谢尔伦
Freigeben: 2016-11-21 13:20:56
Original
995 Leute haben es durchsucht

Obwohl ich die modulare Schreibmethode von commonJS in meiner Arbeit noch nicht verwendet habe, sehe ich immer noch häufig den Quellcode oder Artikel dieser Schreibmethode. Manchmal bin ich etwas verwirrt, wenn ich Exporte und module.exports sehe . . . Ich denke, Anfänger haben vielleicht die gleichen Fragen wie ich, und nach der Überprüfung gibt es wirklich viele davon. . Ich habe ein paar Artikel gelesen und ein Freund von Stackoverflow hat einen guten Artikel geschrieben, also habe ich ihn hier aufgezeichnet.

Tatsächlich ist es leicht zu unterscheiden, wenn man sich an dieses Bild erinnert und es versteht:


Dieses Bild zeigt die Beziehung zwischen den beiden in der Reihenfolge Um das Verständnis zu erleichtern, denke ich, dass es so erklärt werden kann: Wenn eine js-Datei modularisiert werden muss, fügt die Knotenumgebung die beiden Variablen exports und module.exports in die Datei ein, und zu Beginn verweisen diese beiden Variablen auf Beachten Sie, dass dies der Schlüssel ist, nachdem Sie eine Reihe von Operationen mit diesen beiden Variablen ausgeführt haben: Nur module.exports werden für die spätere Verwendung durch andere Module zurückgegeben, für die Referenzen erforderlich sind.

Hier erklären wir nur die Beziehung zwischen Operationen. Warum haben wir also zwei? Ja, warum ist es normal, wenn Sie es zuweisen und zurückgeben? Punkt der Exporte? . . . Haha, was ich verstehe ist, ja, Sie können immer module.exports verwenden und es wird nichts schief gehen, aber Sie müssen jedes Mal so schreiben:

module.exports.a = 1;  
module.exports.b = function() {};  
module.exports.c = 'ccc';
Nach dem Login kopieren

Fühlen Sie sich müde? ? Dann steht es so:

exports.a = 1;  
exports.b = function() {};  
exports.c = 'ccc';
Nach dem Login kopieren

Ist es nicht erfrischender, weil ich weniger geschrieben habe? . . Ich denke schon, hahaha, Programmierer sind extrem faul. Hier kommt also das Problem, verwenden Sie einfach Exports anstelle von module.exports, aber seien Sie vorsichtig, sonst machen Sie Fehler, zum Beispiel:

exports = function A() {}
Nach dem Login kopieren


Sie möchten eine Klasse exportieren Wenn Sie über das obige Bild nachdenken, wird module.exports zurückgegeben. Die Zuweisung unterbricht die Beziehung zwischen exports und module.exports. Was erhalten Sie also, wenn Sie es zitieren? . .

Was ist also die Schlussfolgerung?

Wenn die Dinge, die Sie exportieren möchten, direkt auf ein leeres Objekt erweitert werden können, wird die Verwendung von Exporten sicherlich Zeit und Mühe sparen

Wenn die Inhalte, die Sie exportieren möchten, das leere Objekt vollständig abdecken müssen, können Sie nur module.exports verwenden.

Bitte verwenden Sie module.exports, wenn Sie verwirrt sind. . .


Tatsächlich muss es nicht jedes Mal so mühsam sein, an dieses Bild und diesen Satz zu denken, und alles wird ganz natürlich verlaufen, oder? schreibe weniger Code. Lerne fleißig!!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage