Если вы запустите команду npm command
, вы получите такой цветной выход.Сохранять выходной цвет при запуске команды exec
Однако если выполнить команду через модуль узла, как это.
var execSync = require('child_process').execSync
execSync('npm substack')
Цвет утерян.
Есть ли способ, чтобы сохранить цвет, когда CMD работает в файле узла?
Не знаете, как этот вопрос задан конкретным узлом. Вот общее эхо, которое выводит --> Starting program.
, где стрелка зеленая.
echo -e "\\033[38;5;2m-->\\033[0m Starting program."
Что мне нужно, это команда, которая преобразует этот вывод обратно в эту строку выше.
Что такое 'npm command' - какая-то встроенная команда оболочки? * Скорее всего, эта оболочка проверяет, является ли вывод терминалом, и только если вы выбрали ANSI экранированные цветовые коды. Я использую этот трюк в своих собственных программах, используя ['isatty'] (http://linux.die.net/man/3/isatty), чтобы установить флаг, если цвета должны быть вставлены. – usr2564301
@Jongware 'npm' - это команда оболочки. Как я могу подделать команду, думая, что theres оболочка, поэтому она будет печатать ее выход с цветом? – ThomasReggi
Я считаю, что вывод кода находится в 'utf8', и строка просто регистрируется как-есть. Мне нужен способ вывода строки ansi из команды, а не в раскрашенную строку. – ThomasReggi