Ich verwende RequireJs 2.0 (oder versuche zu verwenden).
Derzeit sind meine Assets in die Teile "Allgemein" und "Benutzerdefiniert" gruppiert. Alle Seiten sollten die allgemeinen Skripts verwenden, während nur einige Seiten die benutzerdefinierte verwenden sollten.
Von was ich RequireJs sagen kann, akzeptiert einen data-main
-Wert, der Ihre Konfiguration enthält und im Grunde genommen Ihr Modul erfordert. Dies ist in Ordnung, wenn alle Seiten die gleichen Assets verwenden, aber wie würde ich ein zusätzliches data-main
-Skript für benutzerdefinierte Seiten hinzufügen?
Danke!
Verwenden Sie Ihr data-main
-Attribut, um Ihr allgemeines Skript zu laden. Wenn Sie auf den benutzerdefinierten Seiten etwas tun möchten, für das ein benutzerdefiniertes Modul erforderlich ist, wickeln Sie es einfach in einen require
-Aufruf ein. Ihre Masterseite (oder Vorlage oder Layout oder was auch immer es auf Ihrer Serverplattform heißt) hätte folgendes:
Ihr benutzerdefiniertes Seiten-Markup kann so aussehen (Syntax aus dem Speicher; überprüfen Sie es!)
%Vor% Das Modul funny-stuff
wird nur von Seiten geladen, die danach fragen. Wenn Sie auf einigen Seiten kein separates Markup verwenden möchten oder können, können Sie eine Abhängigkeit von Ihrem Hauptscript dynamisch laden, indem Sie einen require
-Aufruf in eine if
-Anweisung einfügen. Innerhalb von general.js
:
Sie müssen vorsichtig sein, wenn Sie das Optimierungsprogramm ausführen, da es die Abhängigkeit finden wird, auf die im Aufruf require
verwiesen wird, und es standardmäßig mit Ihrer Hauptdatei paketieren. Sie müssten also das Optimierungsprogramm so konfigurieren, dass die benutzerdefinierten Module ausgeschlossen werden.
Tags und Links javascript requirejs