In Node.js kann die Ausführung von Befehlszeilen-Binärdateien von Drittanbietern mithilfe des Moduls child_process erreicht werden. Hier sehen Sie, wie Sie diese Aufgabe angehen:
child_process.exec: Für eine gepufferte Ausgabe verwenden Sie child_process.exec. Es ermöglicht Ihnen, einen Befehl auszuführen und seine vollständige Ausgabe als Puffer abzurufen.
child_process.spawn: Wenn Sie eine detailliertere Kontrolle über die Prozess-E/A benötigen, verwenden Sie child_process.spawn. Mit dieser Methode können Sie über Streams mit stdin, stdout und stderr des Prozesses interagieren und so eine flexiblere Handhabung großer Datenmengen ermöglichen.
child_process.execFile: Eine alternative Option zur Ausführung Dateien ist insbesondere child_process.execFile. Es funktioniert ähnlich wie spawn, bietet jedoch einen Rückruf zum Abrufen der gepufferten Ausgabe.
Node 0.11.12 und höher: Node-Versionen 0.11.12 und höher führen synchrone Gegenstücke zu den oben genannten asynchronen Methoden ein . Diese synchronen Versionen ermöglichen einfache Skriptaufgaben, geben jedoch keine Instanz von ChildProcess zurück.
Beispielcode für die PrinceXML-Konvertierung (Ruby vs. Node.js):
Ruby | Node.js |
---|---|
cmd = system("prince -v builds/pdf/book.html -o builds/pdf/book.pdf") | const { exec } = require('child_process'); exec('prince -v builds/pdf/book.html -o builds/pdf/book.pdf', (err, stdout, stderr) => {...}) |
Dieses Beispiel veranschaulicht, wie die PrinceXML-Befehlszeilenbinärdatei sowohl in Ruby als auch in Node.js ausgeführt wird, um eine Datei in eine zu konvertieren PDF.
Das obige ist der detaillierte Inhalt vonWie kann ich Befehlszeilen-Binärdateien in Node.js ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!