2017-07-30 1 views
0

Ich entwickle eine Elektronen-Anwendung und ich habe eher ein architektonisches Problem im Allgemeinen.Electron ipcMain Listener definiert in einer Klasse

Immer wenn ich etwas im Main-Prozess habe, mache ich es direkt in der main.js-Datei, ich glaube, das ist falsch, weil ich am Ende mit einer sehr langen monolithischen Datei enden werde. !

Jetzt füge ich weitere Klassen hinzu, und einige dieser Klassen sollten auf ein Ereignis hören. Lassen Sie mich ein Beispiel geben:

In meiner Anwendung sollte ich eine Profilinstanz haben. Dieses Profil sollte aktualisiert werden, wenn der Benutzer versucht, sich vom Renderer-Prozess anzumelden.

Jetzt ist meine Probleme, wo die Instanz des Profils zu erstellen, und wie zum Beispiel LOAD_PROFILE-Ereignis automatisch zu hören? Und muss ich wirklich eine Profilinstanz in Main erstellen, die einzigen Teile, die ich in main ausführen muss, ist das Laden und Speichern des Profils im Schreibtisch. Alle anderen Interaktion mit Profil erfolgt in Renderer.

Ich bin neu bei node.js und Electron, also ist die grundlegende Architektur für mich etwas verwirrend.

Antwort

1

Nun, nur für den Fall, dass jemand anderes die gleiche Frage hatte.

Ich habe nur den Listener-Code in eine neue Datei geschrieben und die Datei in main.js importiert. Da der Code beim Import einmal ausgewertet wird, sind die Listener registriert.

"Beachten Sie, dass mehrere Importe in einigen Fällen dazu führen können, dass der Code mehrmals ausgeführt wird." Bitte hier als Referenz suchen: https://derickbailey.com/2016/03/09/creating-a-true-singleton-in-node-js-with-es6-symbols/

Verwandte Themen