Я пишу инструмент CLI для приложения node.js. Некоторые команды должны запускать npm и показывать результаты. Вот что у меня есть на данный момент:
import {spawn} from 'child_process';
let projectRoot = '...';
let npm = (process.platform === "win32" ? "npm.cmd" : "npm"),
childProcess = spawn(npm, ["install"], { cwd: projectRoot });
childProcess.stdout.pipe(process.stdout);
childProcess.stderr.pipe(process.stderr);
childProcess.on('close', (code) => {
// Continue the remaining operations
});
Команда работает нормально и выводит результаты (или ошибки). Однако он не дает мне прямой трансляции с индикатором выполнения и т. Д. Он ждет, пока вся операция не завершится, а затем выгружает вывод в консоль. Я пробовал разные варианты конфигурации спауна, но не могу показать мне прямую трансляцию.
Я использую Windows 10 и использую node.js 4 и npm 3.