Heim > Web-Frontend > js-Tutorial > JS-Modularität-RequireJS

JS-Modularität-RequireJS

php中世界最好的语言
Freigeben: 2018-03-07 09:43:21
Original
2097 Leute haben es durchsucht

Heute präsentiere ich Ihnen die JS-Modularisierung – RequireJS. Was sind die Vorsichtsmaßnahmen zur JS-Modularisierung und wie sollten Sie RequireJS verwenden? Das Folgende ist ein praktischer Fall, schauen wir uns das an.

Ich habe schon immer von RequireJS gehört, aber ich hatte noch nie die Gelegenheit, etwas darüber zu erfahren. Ich weiß nur, dass es sich um eine API zur Modularisierung von js handelt. Ich arbeite kürzlich an React und seine Komponentisierungsideen stimmen mit den js-Modularisierungsideen überein. Ich möchte einfach RequireJS zum Projekt hinzufügen, während ich React anwende, um zu sehen, ob es einen guten Effekt auf das Laden oder die Entwicklung der Seite hat.

Was ist RequireJS?

Bevor ich erkläre, was RequireJS ist, muss ich den Hintergrund der modularen Geschichte von Javascript erwähnen. Tatsächlich entwickelte sich JavaScript in den Anfängen zu einer aufstrebenden Skriptsprache mit einer großen Vision. Es war keine Sprache, die nur für den Kunden entwickelt wurde. Mit der späteren Popularität von Webanwendungen verbreitete sich JavaScript jedoch schnell als browserseitige Skriptsprache und wurde durch die Konkurrenz zwischen Netscape und Microsoft vorzeitig standardisiert. Dies hat zu vielen Mängeln von JS geführt, darunter die Modularität (aber Sie werden überrascht sein, dass Javascript tatsächlich Import, Export usw. als reservierte Wörter verwendet, was zeigt, dass dies tatsächlich beim Entwurf berücksichtigt wurde. Der neue Standard es6 ermöglicht auch native Unterstützung der Modularisierung. Da Webanwendungen dann immer komplexer werden, werden immer mehr JavaScript-Codes eingebettet, und mit dem Aufkommen von Knoten wird die modulare Programmierung zu einem Muss.

Es gab also das Modulsystem, das später vom Dojo-Toolkit und der Closure-Bibliothek von Google unterstützt wurde. Es gibt auch zwei sehr gängige Standardspezifikationen, CommonJS und AMD. Ich werde hier nicht auf Details eingehen. Wir müssen nur wissen, dass die API, die die CommonJS-Spezifikation implementiert, Module synchron lädt, während die API, die die AMD-Spezifikation implementiert, Module asynchron lädt.
Theoretisch ist das nicht blockierende Laden von AMD-Spezifikationen also besser für den Browser geeignet. RequireJS ist die beste Implementierung der AMD-Spezifikation. Kopieren Sie eine Beschreibung von RequireJS aus einem offiziellen Dokument:

RequireJS ist ein JavaScript-Modullader. Es eignet sich hervorragend für die Verwendung im Browser, kann aber auch in anderen Skriptumgebungen wie Rhino und Node verwendet werden. Durch die Verwendung von RequireJS zum Laden modularer Skripte werden die Ladegeschwindigkeit und die Qualität Ihres Codes verbessert.

Warum RequireJS?

Da wir nun wissen, was RequireJS tut, wissen wir fast auch, warum wir RequireJS verwenden. Aber lassen Sie uns die Vorteile der Verwendung von RequireJS zusammenfassen.

Asynchrones „Laden“. Wir wissen, dass Websites das Skript normalerweise am Ende des HTML-Codes platzieren, um Seitenblockierungen zu vermeiden, die durch die Ausführung von js durch den Browser verursacht werden. Bei Verwendung von RequireJS wird die -Rückruffunktion ausgeführt, nachdem das entsprechende js geladen wurde. Dieser Prozess ist asynchron, sodass die Seite nicht blockiert wird.

Laden nach Bedarf. Über RequireJS können Sie das entsprechende js-Modul laden, wenn Sie die js-Logik laden müssen, wodurch eine große Anzahl von Anfragen und Datenübertragungen beim Initialisieren der Webseite vermieden werden. Möglicherweise sind einige Module für einige Leute überhaupt nicht verfügbar es ist nötig, dann erscheint es unnötig.

Bequemere Modulabhängigkeitsverwaltung. Ich glaube, Sie müssen auf Abhängigkeitsfehler aufgrund von Problemen mit der Skript-Tag-Reihenfolge gestoßen sein. Diese Funktion ist undefiniert, diese Variable ist undefiniert und so weiter. Durch den Mechanismus von RequireJS können Sie sicherstellen, dass verwandte Dateien ausgeführt werden, nachdem alle abhängigen Module geladen wurden, sodass sie eine Rolle bei der Abhängigkeitsverwaltung spielen können.

Effizientere Versionsverwaltung. Denken Sie darüber nach, wenn Sie noch ein Skript verwenden, um jQuery2 einzuführen. Ändern Sie diese 100 Seiten. Wenn Ihr requireJS jedoch über eine jQuery-Pfadzuordnung in der Konfiguration verfügt, müssen Sie nur eine Stelle ändern.

Natürlich gibt es noch andere Vorteile, wie z. B. dass CDN keine JS-Dateien laden kann, lokale Dateien angefordert werden können usw., die ich hier nicht auflisten werde.

RequireJS Verwenden Sie

Dateien, die auf der Seite eingeführt werden müssen

<script data-main="js/main" src="xxx/xxxx/require.js"></script>
Nach dem Login kopieren

Verwenden Sie RequireJS, Sie müssen nur eine require.js einführen. Es ist zu beachten, dass es besser ist, dieses JS nur über das

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage