2017-02-18 2 views
1

unterstützt ReactJS das Laden eines Plugins zur Laufzeit? Ich habe eine Client-Anwendung basierend auf ReactJS entwickelt. Für andere Benutzer meiner Software sollte es möglich sein, das Web-UI durch das Schreiben einer benutzerdefinierten Erweiterung zu erweitern.Auf der Suche nach einem ReactJS Runtime Plugin Konzept

Meine ReactJS Base-Anwendung wurde bereits in eine build.js-Datei transpiliert (webpack + babel).

Andere Benutzer sollten eine eigene .js-Datei erstellen, die vom Browser separat geladen wird. Zur Laufzeit sollte der Browser nach einer benutzerdefinierten Erweiterung suchen, um diese zur Anwendung hinzuzufügen.

Hat jemand einen Hinweis, wie man das mit ReactJS macht?

Cheers, Manuel

Antwort

0

Sie eine benutzerdefinierte implementieren können Erweiterungen JavaScript-Funktion auf Ihrem Haupt-Komponente hinzuzufügen, das heißt:

YourPlugin.loadExtensions(MyCustomExtension); 

Ich habe dies für eine reagieren Komponente erfolgt auf eine montieren nur bestimmte Knoten, aber ich denke, dieser Ansatz sollte auch in Ihrem Fall funktionieren.

+0

Hallo Pedro, danke für die schnelle Antwort. Können Sie mir noch einige Zeilen des Beispiels geben? Ist loadExtension() eine benutzerdefinierte Funktion, die ich selbst programmieren muss? – Manuel

+0

Ja, ist es. Sie fügen Ihrer App möglicherweise etwas hinzu, um den globalen Status zu überprüfen, oder lassen Sie Ihre App mithilfe von ReactDOM mounten und stellen sicher, dass Sie diese Erweiterungen über Props mit ReactDOM selbst haken. Ich empfehle letzteres. –

+0

Ich bin immer noch auf der Suche nach einer Antwort. Ich habe Webpack-Chunking gefunden, aber das läuft zur transpilen Zeit. Ich habe wirklich gerne separate js-Dateien index.js plugin1.js plugin2.js – Manuel

Verwandte Themen