RequireJS und WordPress

Ich bin gerade dabei, über die Möglichkeiten nachzudenken, die mir zur Verfügung stehen, um den gewachsenen Beständen an JavaScript-Codes Herr zu werden, welche mich in einem zukünftigen Projekt bereits erwarten. Einerseits könnte ich wohl versuchen, die Sourcen in Dateien zu organisieren, sodass man sie dann leicht mit Hilfe von Conditional tags laden könnte.

Das wird bei einem einfachen Projekt, wo die Komplexität noch nicht sehr hoch ist, vielleicht auch ausreichend sein. Ob ich mir (und vor allem meinem Auftraggeber) damit aber einen Gefallen tue, steht auf einem anderen Blatt. Ich gehe davon aus, dass die Benutzerschnittstellen in der näheren Zukunft noch sehr viel mehr an Interaktivität bieten (sollen) und dann auch die Frage nach der Performance schnell in den Fokus rückt.

Denkt man an dieser Stelle auch die Zusammenstellung in den Teams bei heutigen Projekten konsequent weiter, fällt [mir] folgendes dabei auf:

In den Teams wird die Arbeit oft nicht mehr zwischen Webdesignern/Grafikern und Programmierern aufgeteilt. Jetzt gibt es UX-Designer, Frontend- und Backend-Entwickler und so weiter…

Dem ersten Ansatz kommt WordPress bereits durch die Aufteilung von Theme und Plugins entgegen.

Kann man das noch weiter entkoppeln?

Ich glaube, dass es sich schnell bezahlt macht, wenn man JavaScripten modular organisiert und man das Anladen der Applikation bereits einem Loader übergibt. Die Auswahl ist hier sicherlich groß, aber ich bin mir sicher, dass RequireJS nicht die schlechteste Wahl ist. Durch die Art und Weise, wie man JavaScripten in WordPress [richtig] lädt, muss man allerdings auch darüber nachdenken, wie der Loader damit umgehen soll, wenn jQuery beispielsweise von einem anderen Plugin in den Header geschoben wird.

Eine Möglichkeit wäre in meinen Augen, einfach über die normale Vorgehensweise bereits in einem Plugin (oder auch in der functions.php) einfach zu erklären, dass RequireJS von jQuery abhängig ist. In der Applikation löst man dann Fall entsprechend auf. Vielleicht nicht die eleganteste Wahl, aber es funktioniert gut.

Das stelle ich mir in etwa so vor:

Der Filter script_loader_tag ist übrigens recht neu. Seit der Version 4.1 kann man in WordPress nun auch an dieser Stelle eingreifen und die Ausgabe im HTML steuern. Wer sich das Ganze noch genauer Ansehen will, sollte sich mein Testplugin zum Thema mal anschauen bzw. gleich clonen/installieren.

Über Meinungen, Vorschläge und so weiter würde ich mich – wie immer – freuen!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert