Wann Themes/Plugins auf `.gjs` umstellen?

Ich möchte dies erneut ansprechen, da ich versuche, den besten Weg zur Verwaltung meiner Komponenten herauszufinden. Derzeit sehe ich zwei Optionen, die beide erhebliche Nachteile haben: Ich könnte eine Registry pro Themenkomponente erstellen, die Blöcke rendert, aber das widerspricht irgendwie dem gesamten modularen Zweck. Oder ich füge einen global über ein Plugin hinzu, aber dann werden meine Komponenten von der Installation dieses Plugins abhängig.

Es scheint also, dass eine globale Blockregistrierungs-API im Kern wirklich helfen würde. Etwas, das Themenkomponenten verwenden könnten, um das Rendern von Blöcken aufzurufen und auch neue Blöcke zu registrieren.

Ich liebe die Arbeit mit dem Blockansatz, weil er es mir ermöglicht, Bedenken zwischen dem App-Layout und dem Komponenteninhalt zu trennen. Die Blockkomponente kümmert sich nur um das Rendern ihres Inhalts und wird dann von einer anderen Komponente in der App gerendert. Ich kann die gesamte Routen- und Outlet-Logik aus der Blockkomponente entfernen und denselben Block problemlos mehrmals in einem Layout und sogar in der gesamten App wiederverwenden.

Ich finde, das macht alles schlanker und wiederverwendbarer und ist insgesamt ein eleganter Ansatz. Eine solide Unterstützung für dieses Muster in Discourse wäre großartig.

4 „Gefällt mir“