2015-08-12 2 views
1

Если вы запустите команду npm command, вы получите такой цветной выход.Сохранять выходной цвет при запуске команды exec

enter image description here

Однако если выполнить команду через модуль узла, как это.

var execSync = require('child_process').execSync 
execSync('npm substack') 

Цвет утерян.

enter image description here

Есть ли способ, чтобы сохранить цвет, когда CMD работает в файле узла?

Не знаете, как этот вопрос задан конкретным узлом. Вот общее эхо, которое выводит --> Starting program., где стрелка зеленая.

echo -e "\\033[38;5;2m-->\\033[0m Starting program." 

Что мне нужно, это команда, которая преобразует этот вывод обратно в эту строку выше.

+1

Что такое 'npm command' - какая-то встроенная команда оболочки? * Скорее всего, эта оболочка проверяет, является ли вывод терминалом, и только если вы выбрали ANSI экранированные цветовые коды. Я использую этот трюк в своих собственных программах, используя ['isatty'] (http://linux.die.net/man/3/isatty), чтобы установить флаг, если цвета должны быть вставлены. – usr2564301

+0

@Jongware 'npm' - это команда оболочки. Как я могу подделать команду, думая, что theres оболочка, поэтому она будет печатать ее выход с цветом? – ThomasReggi

+0

Я считаю, что вывод кода находится в 'utf8', и строка просто регистрируется как-есть. Мне нужен способ вывода строки ansi из команды, а не в раскрашенную строку. – ThomasReggi

ответ

Смежные вопросы