Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Melaksanakan Perduaan Baris Perintah dalam Node.js Menggunakan `child_process`?

Bagaimanakah Saya Boleh Melaksanakan Perduaan Baris Perintah dalam Node.js Menggunakan `child_process`?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-05 16:55:12722semak imbas

How Can I Execute Command Line Binaries in Node.js Using `child_process`?

Melaksanakan Binari Baris Perintah dengan Node.js

Melaksanakan binari baris arahan pihak ketiga daripada Node.js adalah mudah menggunakan modul child_process.

Menggunakan exec untuk Complete Output

Untuk melaksanakan perintah dan mendapatkan semula output lengkapnya, gunakan child_process.exec:

const { exec } = require('child_process');
exec('prince -v builds/pdf/book.html -o builds/pdf/book.pdf', (err, stdout, stderr) => {
  if (err) return;
  console.log(`stdout: ${stdout}`);
  console.log(`stderr: ${stderr}`);
});

Menggunakan spawn untuk Output Strim

Untuk mengendalikan proses I/O dengan strim, gunakan child_process.spawn:

const { spawn } = require('child_process');
const child = spawn('prince', [
  '-v', 'builds/pdf/book.html',
  '-o', 'builds/pdf/book.pdf'
]);

child.stdout.on('data', (chunk) => {
  // Output chunks are received here
});

Menggunakan execFile untuk Executable

Untuk melaksanakan fail boleh laku dan bukannya arahan, gunakan child_process.execFile:

const { execFile } = require('child_process');
execFile(file, args, options, (err, stdout, stderr) => {
  // Output is retrieved in stdout
});

Segerak Fungsi

Untuk pelaksanaan segerak, Node.js menyediakan rakan sejawat segerak ini kaedah:

  • child_process.execSync
  • child_process.spawnSync
  • child_process.execFileSync

Mereka tidak mengembalikan kejadian ChildProcess seperti asynchronous mereka rakan sejawat.

Nota: Untuk Node.js versi 0.11.12 dan kemudian, contoh di atas digunakan. Untuk versi terdahulu, rujuk kod warisan yang disertakan dalam jawapan yang disediakan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Perduaan Baris Perintah dalam Node.js Menggunakan `child_process`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn