Я играю в порождении npm install -g create-react-app
из js
скрипта. Я хочу получить в режиме реального времени часть вывода, где вы можете видеть ход процесса установки пакета. Я имею в виду это:
Но когда я выполняю сценарий, при установке выдается следующее:
+ create-react-app@2.1.8
added 63 packages from 20 contributors in 4.885s
и это при обновлении:
+ create-react-app@2.1.8
updated 1 package in 1.971s
Код, который я использую:
const run = (cmd, args) => {
return new Promise((resolve, reject) => {
const spawn = require('child_process').spawn;
const command = spawn(cmd, args);
let result = '';
command.stdout.on('data', data => {
result += data.toString()
});
command.on('close', _ => {
resolve(result)
});
command.on('error', err => {
reject(err)
});
})
}
run(npmExecutable, ["install", "-g", "create-react-app"]).then(result => {
console.log(result);
});
Итак, можно получить вывод реального времени , где можно увидеть индикатор выполнения?
РЕДАКТИРОВАТЬ: Ну, в соответствии с Ответ Марка Теперь я вижу бар прогесов , но как я могу вывести этот результат (индикатор выполнения) в реальном время стандартный вывод , я имею в виду переменную?
Это новый код:
const run = (cmd, args) => {
return new Promise((resolve, reject) => {
const spawn = require("child_process").spawn;
const command = spawn(cmd, args, {
stdio: "inherit"
});
command.on("close", _ => {
resolve();
});
command.on("error", err => {
reject(err);
});
});
};
РЕДАКТИРОВАТЬ О ДУБЛИКАТЕ: Мой вопрос отличается от другого, потому что сейчас я пытаюсь решить другую проблему, используя ответ (комментарии), полученный от другого вопроса!