Starten Sie eine externe Anwendung von node.js

8

Ich schreibe eine Desktop-Webanwendung, die node.js verwendet, um auf das lokale Dateisystem zuzugreifen. Ich kann derzeit node.js verwenden, um Dateien an verschiedenen Orten auf der Festplatte zu öffnen und zu kopieren. Was ich auch tun möchte ist, dass der Benutzer eine bestimmte Datei mit der Anwendung öffnen kann, die dem Dateityp zugeordnet ist. Mit anderen Worten, wenn der Benutzer "myfile.doc" in einer Windows-Umgebung auswählt, wird MSWord mit dieser Datei gestartet.

Ich muss ein Opfer der Terminologie sein, weil ich nichts anderes gefunden habe als das Hervorbringen von Kindprozessen, die mit node.js kommunizieren. Ich möchte nur eine Datei starten, die der Benutzer sehen kann und dann entscheiden lassen, was damit zu tun ist.

Danke

    
Pete Gardner 18.07.2013, 21:04
quelle

3 Antworten

11

Sie können dies tun

%Vor%

es nicht sicher gedacht, um sicherzustellen, dass der Befehl keine Fehler oder unerwünschte Ausgabe

zeigen

Sie sollten den Callback-Parameter hinzufügen child_process.exec(cmd,function(error,stdout,stderr){})

und als nächstes können Sie mit Ereignissen arbeiten, so dass Sie die Ausführung des Skripts nicht blockieren oder sogar ein externes node.js-Skript verwenden, das Ausgaben von Prozessen startet und verarbeitet, die Sie aus einem "Master" -Skript erzeugen.

    
Gntem 19.07.2013, 06:37
quelle
4

Im folgenden Beispiel habe ich den Befehl "mate" von textmate verwendet, um die Datei hello.js zu bearbeiten. Sie können einen beliebigen Befehl mit child_process.exec ausführen, aber die Anwendung, in der Sie die Datei öffnen möchten, sollte Ihnen Befehlszeilenoptionen bereitstellen.

%Vor%     
Yalamber 19.07.2013 07:53
quelle
1
%Vor%

Schwerpunkt ist, wo 'exit' aufgerufen wird. Dies wird ordnungsgemäß in Windows ausgeführt.

    
RemyG 01.12.2016 13:03
quelle