Ich versuche, ein Base-In-Repo-Addon zu machen, das Funktionalität über Namespace wie platform/services/whatever
bietet.Ist es möglich, eine In-Repo-Addon-Struktur zu erstellen, die optional ein Basis-Addon erweitert, aber die App davon nichts weiß?
Zusätzlich zu, dass ich will, wenn ein anderes Addon isEnabled(), die oder öffnet wieder den gleichen Service erstreckt (in irgendeiner Weise) Ich will es alle zusammengeführt werden, ohne dass das zweite Addon Dienst wie platform-second/services/whatever
beim Namen zu nennen, die
Ich möchte nur eine schöne, saubere Abstraktion. Der Grund, warum ich es so mache, ist, dass ich basierend auf einer ENV-Variablen verschiedene Inhalte in index.html und verschiedene app.imports erstellen/einfügen muss.
und ich möchte, dass es vollständig in einzelne kleine In-Repo-Addons getrennt wird, um es sauber zu halten.
Ich möchte die App nicht wissen, die platform
, sondern nur in der Lage, Methoden der allgemeinen platform
Addon zu verwenden.
So könnte zum Beispiel platform.services.whatever.myMethod()
standardmäßig ein noOp sein, aber wenn das zweite Addon das erweitert und das implementiert, wird stattdessen diese Version ausgelöst.
Frage mich, ob ich mache keinen Sinn überhaupt LOL
Wenn Sie irgendwelche Tipps oder Ratschläge auf, wie man dieses Setup implementieren könnte, lassen Sie es mich wissen.
Im Moment habe ich die in-Repo-Addons gebaut, aber im Idealfall würde ich die Basis platform
Addon derjenige sein, der tatsächlich hat die app
Ordnerinhalte und die anderen Addons, dass „verlängern“ oder „überschreiben“ die Methoden/Eigenschaften Die Objekte dieses Addons wären nur isEnabled()
basierend auf dieser ENV-Variable.
Ich sollte hinzufügen, dass ich nicht einfach Baum zusammenführen und die ursprüngliche Datei überschreiben kann, weil ich die Basisfunktionalität dieser Dateien benötige.
Also, wenn ich eine Methode der Basis platform.services.whatever.myMethod()
erweitern, dann brauche ich noch den Rest dieser Dienste Methoden und Eigenschaften.