Передайте аргументы исполняемому файлу в приложении NodeJS CLI - PullRequest
0 голосов
/ 03 июня 2018

У меня есть исполняемый файл, и я хочу вызвать его из приложения CLI NodeJS.Это то, что у меня пока есть:

var exec = require('child_process').exec;
exec(`./${name_of_executable}`, (err, stdout, stderr) => {
    // I want to take user input on which this executable depends on
});

Как я могу это сделать?

1 Ответ

0 голосов
/ 03 июня 2018

Если вы хотите передать некоторые аргументы, вы можете использовать:

const { execFile } = require('child_process');
const child = execFile('node', ['--version'], (error, stdout, stderr) => {
  if (error) {
    throw error;
  }
  console.log(stdout);
});

Если вы хотите передать пользовательский поток в качестве стандартного ввода дочернему процессу, используйте spawn:

const { spawn } = require('child_process');

// Child will use parent's stdios
spawn('prg', [], { stdio: 'inherit' });

// Spawn child sharing only stderr
spawn('prg', [], { stdio: ['pipe', 'pipe', process.stderr] });

// Open an extra fd=4, to interact with programs presenting a
// startd-style interface.
spawn('prg', [], { stdio: ['pipe', null, null, null, 'pipe'] });

Все примеры из документов: https://nodejs.org/api/child_process.html#child_process_options_stdio

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...