2016-05-17 6 views
3

Я пытаюсь настроить проект исключительно с помощью NPM как системы сборки (без Gulp или Grunt), поэтому я немного новичок, но до сих пор он работает довольно хорошо, кроме для этого небольшого дорожного блока. скрипты часть моего package.json выглядит примерно так:Цветной ведение журнала в терминале с помощью сценария запуска NPM

"scripts": { 
     "clean:task": "rimraf dist/*", 
     "clean:notify": "notify --t 'Cleaning done.' --m 'dist/ has been cleaned successfully.", 
     "clean": "npm run clean:task -s && npm run clean:notify -s", 

     "serve": "browser-sync start --p 'xxx.dev/app' --host 'xxx.dev' --port '3000' --open 'external' --f 'app'", 

     "styles:task": "node-sass --output-style nested -o app/assets/css app/assets/css", 
     "styles:notify": "notify --t 'Styles compilation' --m 'Styles have been compiled successfully'", 
     "styles:build": "npm run styles:task && npm run autoprefixer", 

     "imagemin": "imagemin app/assets/img dist/img -p", 

     "scripts:lint": "jshint --reporter=node_modules/jshint-stylish app/assets/js/scripts.js" 
    } 

У меня есть уведомления объявить успешные задачи, но в идеале я хотел бы некоторые хорошие цветные сообщения непосредственно в терминале. Я знаю, что это можно сделать с помощью Gulp через цветную запись, но я не могу запланировать пакет NPM, у которого есть CLI, который сможет это сделать. Любые идеи? Возможно ли это?

Благодарим за помощь.

+0

Мое решение приемлемо? Если нет, почему бы и нет? –

+0

Возможный дубликат [Как изменить выходной цвет эха в Linux] (https://stackoverflow.com/questions/5947742/how-to-change-the-output-color-of-echo-in-linux) – j0k

ответ

0

Вы можете использовать эти ANSI escape codes:

Black  0;30  Dark Gray  1;30 
Red   0;31  Light Red  1;31 
Green  0;32  Light Green 1;32 
Brown/Orange 0;33  Yellow  1;33 
Blue   0;34  Light Blue 1;34 
Purple  0;35  Light Purple 1;35 
Cyan   0;36  Light Cyan 1;36 
Light Gray 0;37  White   1;37 

И затем использовать их, как это в вашем скрипте:

RED='\033[0;31m' 
NC='\033[0m' # No Color 
printf "I ${RED}love${NC} Stack Overflow\n" 

, который печатает любовь в красный цвет.

Если вы используете команду echo, обязательно используйте флаг -e, чтобы разрешать escape-обратные экраны.

# Continued from above example 
echo -e "I ${RED}love${NC} Stack Overflow\n" 
+0

Это копия и вставленный ответ от другого, аналогичного вопроса - https://stackoverflow.com/questions/5947742/how-to-change-the-output-color-of-echo-in-inux – silverlight513

+0

Перенос из-за копии/вставьте, что silverlight привлек внимание. А также потому, что он не отвечает на вопрос OP, только предоставляет беглую информацию. – shellscape

+0

Downvoting, потому что вставленный ответ вообще не отвечает на вопрос OP, а также потому, что нет возможности использовать это в файле JSON. – LukyVj