Laksanakan Binari Baris Perintah dengan Node.js
Dalam Ruby, anda boleh melaksanakan binari pihak ketiga menggunakan kaedah sistem. Dalam Node.js, terdapat dua pilihan untuk melaksanakan binari baris arahan: child_process.exec dan child_process.spawn.
Output Tertimpan dengan child_process.exec
Gunakan child_process. exec jika anda ingin menerima keseluruhan output arahan di sekali.
const { exec } = require('child_process'); exec('cat *.js bad_file | wc -l', (err, stdout, stderr) => { if (err) { // Handle error } else { console.log(`stdout: ${stdout}`); console.log(`stderr: ${stderr}`); } });
Strim Output dengan child_process.spawn
Gunakan child_process.spawn jika anda lebih suka menerima output secara beransur-ansur dalam ketulan sebagai strim.
const { spawn } = require('child_process'); const child = spawn('ls', ['-lh', '/usr']); child.stdout.on('data', (chunk) => { // Data from standard output is here as buffers }); child.on('close', (code) => { console.log(`child process exited with code ${code}`); });
Segerak Pelaksanaan
Untuk pelaksanaan segerak (tidak disyorkan untuk output besar), gunakan kaedah child_process.execSync dan child_process.spawnSync.
Nota: Untuk Node.js versi sebelum ES5, rujuk kod berikut untuk mengendalikan baris arahan pelaksanaan:
Output Tertimpan dengan child_process.exec
var exec = require('child_process').exec; var cmd = 'prince -v builds/pdf/book.html -o builds/pdf/book.pdf'; exec(cmd, function(error, stdout, stderr) { // command output is in stdout });
Strim Output dengan child_process.spawn
var spawn = require('child_process').spawn; var child = spawn('prince', [ '-v', 'builds/pdf/book.html', '-o', 'builds/pdf/book.pdf' ]); child.stdout.on('data', function(chunk) { // output will be here in chunks });
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Perduaan Baris Perintah Menggunakan Node.js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!