2016-04-16 9 views
2

Ich versuche, Argumente in eine bereits laufende Electron-App zu übergeben, die über die Befehlszeile gestartet wurde (electron .).Übergabe von Befehlszeilenargumenten an ausgeführte Electron-App ohne Paketierung

Die Anwendung ist so konfiguriert, dass nur eine einzige Instanz mit app.makeSingleInstance zulässig ist. Idealerweise empfängt die App die Argumente und verarbeitet sie dann, anstatt eine neue Instanz zu starten.

Ich kann leicht Argumente in meine App wie diese passieren:

electron . --arg1 --arg2 

aber ich bin nicht sicher, wie man sie in eine bereits laufende Instanz Electron passieren.

Ich weiß, dass ich die App in eine EXE-Datei verpacken und auf diese Weise testen kann, aber jedes Mal, wenn ich testen möchte, ist es mühselig.

Gibt es einen besseren Weg?

Antwort

2

Es stellt sich heraus, dass ich app.makeSingleInstance nicht ordnungsgemäß implementiert habe.

Gemäß der documentation müssen Sie behandeln, wie die App reagiert, wenn eine zusätzliche Instanz gestartet wird. In diesem Fall wird die neue Instanz beendet, nachdem Parameter an die laufende Instanz übergeben wurden.

Um dies zu testen, funktioniert einfach das Öffnen eines zweiten Befehlsfenster.

Auf dem ersten Befehlsfenster, beginne ich mit der App:

electron . arg1 arg2 

Und es verarbeitet die beiden args.

In einem zweiten Befehlsfenster:

electron . arg3 arg4 

Und die dritten und vierten Argumente werden von der ersten App verarbeitet.

Verwandte Themen