0. Was ist ein ModulHistorisch gesehen verfügte JavaScript nicht über ein Modulsystem. Daher war es nicht möglich, ein großes Programm in kleine, voneinander abhängige Dateien aufzuteilen und diese dann auf einfache Weise zusammenzusetzen. Andere Sprachen verfügen über diese Funktion, wie etwa „require“ von Ruby, „import“ von Python und sogar CSS hat „@import“, aber JavaScript bietet diesbezüglich keinerlei Unterstützung, was zu einem großen Hindernis bei der Entwicklung großer und komplexer Projekte geworden ist. Vor ES6 entwickelte die Community einige Lösungen zum Laden von Modulen, die wichtigsten davon waren CommonJS und AMD. Die Designidee von ES6-Modulen besteht darin, so statisch wie möglich zu sein, sodass die Modulabhängigkeiten sowie die Eingabe- und Ausgabevariablen zur Kompilierungszeit bestimmt werden können. ES6-Module sind keine Objekte, sondern Code, der durch den Exportbefehl explizit zur Ausgabe angegeben und dann durch den Importbefehl importiert wird. Die wichtigsten Probleme, die durch das Modulsystem gelöst werden, sind:
1.Modul ladenWenn Sie das <script>-Tag zum Laden eines Moduls verwenden, müssen Sie type="module" hinzufügen. 1.1 Methode 1<Skripttyp="Modul"> Modul aus "./module.js" importieren; </Skript> 1.2 Methode 2<script src="./module.js" type="module"></script> 2. Export und Import2.1 Die Exporte eines Moduls können von anderen Modulen importiert und abgerufen werden. Beispiel 1: Mittels About.js das Base-Objekt in Base.js aufrufen und auf der Startseite ausdrucken. Hauptseite <Skripttyp="Modul"> importiere About aus "./js/About.js"; console.log(Über); </Skript> Base.js const Basis = { Spitzname: "Administrator", Alter: 19 } Standardbasis exportieren; Über.js importiere Base aus „../js/Base.js“; const src = `Spitzname:${Base.nick},Alter:${Base.age}.`; Standardquelle exportieren; Ausgabe:
2.2 Sie können es importieren, auch wenn es nicht exportiert wird Beispiel 2: About.js wird nicht exportiert und auf der Homepage importiert. Hauptseite <Skripttyp="Modul"> importiere "./js/About.js"; </Skript> Über.js const src = 'Hallo Welt!'; konsole.log(quelle); Ausgabe:
2.3 Der importierte Code wird nur einmal ausgeführt Beispiel 3: Importieren Sie About.js dreimal und beobachten Sie die Exportergebnisse. Hauptseite <Skripttyp="Modul"> importiere "./js/About.js"; importiere "./js/About.js"; importiere "./js/About.js"; </Skript> Über.js const src = 'Hallo Welt!'; konsole.log(quelle); Ausgabe: Hallo Welt! 3. Exportvorgabe und entsprechender Import Mit „export default“ wird ein Standardwert exportiert. Ein Modul kann nur einen haben. Wenn Sie zum Exportieren die Exportvorgabe verwenden, kann der Importname beliebig sein. Beispiel 4: Verwenden Sie zum Exportieren die Exportvorgabe und geben Sie zum Importieren einen beliebigen Namen ein. Hauptseite <Skripttyp="Modul"> importiere bbb aus "./js/About.js"; konsole.log(bbb); </Skript> Über.js const src = 'Hallo Welt!'; Standardquelle exportieren; Ausgabe:
4. Export und entsprechender Import Bei der Verwendung von Export zum Export darf der Name des Imports nicht beliebig sein. Beispiel 5: Verwenden Sie zum Exportieren „Export“. Hauptseite <Skripttyp="Modul"> importiere { Alter, Spitzname } aus "./js/About.js"; console.log(Spitzname, Alter); </Skript> Über.js konstantes Alter = 18; exportiere {Alter}; // Alter exportieren; × // exportiere const Alter = 18; √ exportiere const nick = "admin"; Ausgabe:
5. Hinweise zum Modul1. Im Modul zeigt die oberste Ebene auf „undefined“. 2import hat einen Beförderungseffekt, der an den Kopf des gesamten Moduls befördert und zuerst ausgeführt wird. 3. Wenn der Import ausgeführt wird, wurde der Code noch nicht ausgeführt; 4. Import und Export können nur auf der obersten Ebene eines Moduls ausgeführt werden, nicht in einem Codeblock; 5.import() kann bedingt importiert werden; 6. Die zusammengesetzte Schreibmethode wird exportiert und kann im aktuellen Modul nicht verwendet werden Zusammengesetztes Schreiben, Importieren und anschließend Exportieren: exportiere About aus „./js/About.js“; ZusammenfassenDieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalten auf 123WORDPRESS.COM mehr Aufmerksamkeit schenken können! Das könnte Sie auch interessieren:
|
<<: So ändern Sie die Container-Portzuordnung in Docker dynamisch
>>: Eine kurze Analyse der CSS-Selektorgruppierung
Transtion in Vue ist eine Kapselungskomponente f...
Sublime Text 2 ist ein leichter, einfacher, effiz...
Informationen zum Deinstallieren der zuvor instal...
In diesem Artikel wird der spezifische Code für d...
Phänomen: Führen Sie ein Image aus, zum Beispiel ...
Inhaltsverzeichnis brauchen Kernidee Zwei Möglich...
Inhaltsverzeichnis 1. Was ist eine berechnete Eig...
Inhaltsverzeichnis Ref und Reaktiv Referenz Reakt...
Inhaltsverzeichnis 1. Einleitung 2. filter() 3. K...
In diesem Artikel erfahren Sie, wie Sie Nginx so ...
Anwendungsszenarien: Der Sprungpfad muss entsprec...
Inhaltsverzeichnis veranschaulichen 1. Blob-Objek...
Vorwort: Die Funktion „Gruppieren nach“ ruft das ...
Hintergrund In Docker werden vier Container mit d...
In diesem Artikel wird der spezifische Code von V...