🏠 FabLab Startseite | Nutzungsbedingungen | Impressum | Wiki

Warum kann ich keinen child process in electron-react starten?

Hey Leute
ich hoffe echt jemand kann mir helfen. Ich verzweifle langsam an diesem problem.
Und zwar habe ich ein neues electron projekt gestartet, um genauer zu sein habe ich diese react-electron-boilderplate verwendet. Ich hab es ganz normal gestartet was auch wunderbar funktioniert hat. Dann habe ich versucht es zu packagen wie es auf der github seite beschrieben ist. Mal wieder keine Probleme. An dieser stelle werde ich erstmal erklären was mein Ziel ist. Ich möchte einen detached child process starten der einen tcp server im hintergrund startet (Warum im Hintergrund? Damit er weiterläuft auch wenn electron selber geschlossen wird. Deswegen auch detached). Ich habe versucht dafür mein eigenes npm package, tcp-background-notifier, zu benutzen das ich eigentlich auch dafür programmiert und gepublished hatte. Jedoch ohne erfolg.
Hier ist mein Code um den childprocess zu starten:

spawn("node " + require.resolve("tcp-background-notifier"), {
  detached: true,
  stdio: ["ignore", "ignore", "ignore"]
});

ich habe mein package eigentlich ohnehin schon so geschrieben das ich einfach nur folgendes machen müsste damit es geht:

const tcpnotifier = require('tcp-background-notifier');
tcpnotifier.start();

Dies wurde nähmlich in meinem Package mit der hilfe von dem Package background-process einen Hintergrundprocess mit meinem tcp server starten. Allerdings gibt es da nur das Problem das wenn ich dann die App packagen will, diese einfach immer und immer wieder ein neues Fenster öffnet und das für immer da jedes neu geöffnete Fenster meinen Package ausführt.

Deshalb habe ich es mit der child spawn Funktion ausprobiert allerdings funktioniert das alles nur im dev modus (command: yarn dev) aber sobald ich versuche es zu packagen (command: yarn package) geht gar nichts mehr.

Ich hoffe jemand kann mir weiterhelfen. Aus den oben geschriebenen Zeilen sollte es auch möglich sein diesen Fehler zu reproduzieren. Ich bin Dankbar für jede Lösung, Idee, Anregung und auch alles andere das mir dabei weiterhelfen könnte.

Mfg

Max