Ich habe ein Electron-Projekt, das ein Python-Skript mit dem child_process-Modul von NodeJS ausführt. Mein Python-Skript befindet sich im Stammordner meines Projekts.
So rufe ich das Python-Skript auf:
%Vor% Das funktioniert gut, wenn ich meine Elektronen-App mit npm start
starte
Wenn ich eine ausführbare Datei für Windows mit dem npm-Modul electron-builder
erstelle und die ausführbare Datei von dist/win-unpacked/my-app.exe
ausführe, funktioniert das nicht, es scheint, dass mein Skript nicht mit python ./my-script-py
zugänglich ist.
Wie kann ich also diesen Code für das erstellte Projekt verwenden?
Ich habe mein Problem gelöst. Ich werde für mögliche zukünftige Leser mit dem gleichen Problem erklären.
Unter Verwendung des Elektronen-Builders gibt es einige Möglichkeiten, den Quellcode der Anwendung nicht in eine Elektronendatei zu packen. Diese Optionen sind:
asar
Ob der Quellcode der Anwendung in ein Archiv gepackt werden soll, mit dem Archivformat von Electron. Der Standardwert ist wahr. Knotenmodule, das muss entpackt werden, wird automatisch erkannt, das musst du nicht explizit asarUnpack setzen - bitte Datei Problem, wenn dies nicht funktioniert.
Oder Sie können Objekte von asar Optionen übergeben.
asarUnpack
Ein Glob-Muster relativ zum App-Verzeichnis, das angibt, welches zu entpackende Dateien beim Erstellen des Asar-Archivs.
Das Festlegen von asar
auf false
behebt das Problem, wird jedoch von electron-builder
nicht empfohlen.
Also inklusive aller Dateien, die ich in einen Ordner entpacken und verwenden muss
"asarUnpack" : "my-folder/*"
ist der richtige Weg. Jetzt sind alle entpackten Dateien in /resources/app.asar.unpacked/my-folder
Eine andere Sache, die zu berücksichtigen ist, ist, dass die Verwendung des Pfads './ResolvePosition.py'
den Wurzelordner meines Elektronenprojekts und nicht den Pfad, in dem sich meine NodeJS-Datei befindet, verwenden muss:
Sie können das Skript in extraResources einfügen:
%Vor%Und dann wird das Verzeichnis im App-Wurzelverzeichnis sein:
%Vor%Tags und Links python node.js electron electron-builder