2017-06-20 6 views
17

habe ich Angular Bibliothek (ngx-wig), und ich möchte eine Möglichkeit geben, seine Funktionalität mithilfe von Plugins zu erweitern.Angular: Erstellen von Plugins für 3rd-Party-Pakete (Bibliotheken)

Was wäre der beste Ort, um Plugin in Angular zu deklarieren? (kann etwas wie myLibModule.forRoot(..) sein) und welche Art von Instanz sollte Plugin selbst sein?

I solved same issue für AngularJS nur durch das Modul für jedes Plugin hinzugefügt, in dem ich Plugin registrieren, indem configProvider des Hauptmoduls verwendet wird. Diese Lösung gefällt mir nicht wirklich, da sich das Plugin selbst registriert, aber es sollte für Anwendungen zuständig sein, in denen die Bibliothek verwendet wird.

UPDATE: Das zugehörige Problem ist auf Github here geöffnet.

+0

Es scheint ein wenig unklar. Möchten Sie einen API-ähnlichen Service bereitstellen? –

+0

es hängt von Plugin ab. einige von ihnen könnten Symbolleiste mit neuer Schaltfläche erweitern –

+0

Gute Frage. Ich war mit einem ähnlichen Problem in einem modularen Musikproduktionssystem konfrontiert, und die Lösung war, dass ein "Oberflächenteil" jedes Plugins an einer Schnittstelle haften muss, die die _Plugin-Assembly_ definiert, z. Schlüssel-Metadaten über das Plugin, wie Name, Schlüssel-Klassen, etc., und dann die inneren Teile des Plugins selbst arbeiten durch Decorator-Hooks auf Methoden platziert (wie zum Beispiel '@ nodeDidActivate',' @ nodeStateDidChange', etc.). Dieses System verwendet React als seine UI-Ebene, aber das sollte in ng nicht anders sein. –

Antwort

Verwandte Themen