Метод и принцип вывода цвета Node.js в консоль

Node.js

Эта статья была впервые опубликована в моем блогеМетод и принцип вывода цвета Node.js в консоль, добро пожаловать в гости😘

Все мы знаем, что в среде nodejs используйте обычныеconsole.log,console.error,console.infoНа выходе не будет цвета, если вы не знаете, то теперь знаете 😏. В этом случае, если нам нужен цветной вывод, мы обычно передаемchalkЭтот модуль узла для достижения,

Как пользоваться мелом

Основное использование

const chalk = require('chalk')
console.log(chalk.red.bold.bgWhite('Leo\'s Blog'))

Результат выполнения приведенного выше кода выглядит следующим образом:Leo's BlogЖирный, цвет шрифта красный, цвет фона белый.

Примечание. Цвет фона должен быть добавлен с определенным цветом после bg, а первая буква цвета должна быть заглавной.

Цвета RGB поддерживаются в HTML, и здесь тоже все цвета, поддерживаемые в HTML, например шестнадцатеричные цвета. Здесь описываются только шестнадцатеричные цвета.

Код ниже даст тот же эффект, что и код выше.

const chalk = require('chalk')
console.log(chalk.rgb(255,0,0).bold.bgRgb(255,255,255)('Leo\'s Blog'))

Используйте шаблоны

Очень удобным использованием этого модуля является поддержка шаблонного вывода, то есть независимо от того, где в строке вы хотите изменить цвет вывода, вы можете это сделать.

const chalk = require('chalk')
console.log(chalk`{red.bold.bgWhite Leo\'s Blog}`)

Конечно, можно использовать и цветовые значения RGB.

const chalk = require('chalk')
console.log(chalk`{rgb(255,0,0).bold.bgRgb(255,255,255) Leo\'s Blog}`)

四种方式的输出

общая форма

Вот как часто появляются предупреждения и сообщения об ошибках.

const chalk = require('chalk')

const error = chalk.bold.red;
const warning = chalk.keyword('orange')

console.log(error('Error!'))
console.log(warning('Warning!'))

错误和警告提示

Общий API

стиль

  • reset - сброс стиля
  • жирный - жирный
  • тусклый - светлая подсветка
  • курсив - курсив
  • подчеркивать - подчеркивать
  • inverse - инвертировать цвета переднего плана и фона
  • hidden - скрыть содержимое
  • зачеркнутый - зачеркнутый
  • visible - показать уровень мела > 0 содержимого

Ключевое слово переднего плана (ненужная поддержка)

  • black
  • red
  • green
  • yellow
  • blue
  • magenta
  • cyan
  • white
  • blackBright (alias: gray, grey)
  • redBright
  • greenBright
  • yellowBright
  • blueBright
  • magentaBright
  • cyanBright
  • whiteBright

Ключевое слово цвета фона (поддерживается не полностью)

  • bgBlack
  • bgRed
  • bgGreen
  • bgYellow
  • bgBlue
  • bgMagenta
  • bgCyan
  • bgWhite
  • bgBlackBright (alias: bgGray, bgGrey)
  • bgRedBright
  • bgGreenBright
  • bgYellowBright
  • bgBlueBright
  • bgMagentaBright
  • bgCyanBright
  • bgWhiteBright

Можно увидеть больше APIофициальная документация.

Принцип мела, делающий стиль вывода консоли изменчивым

Одним из наиболее важных пунктов знания его принципа является то, чтоANSI Escape code.

Некоторые символы в кодировке ASCII нельзя использовать для печати и отображения в терминале, например'\a' 0x7представляет колокол,'\n' 0x0AПредставляя символы новой строки, эти символы называются управляющими символами.

и один из контрольных'\e' 0x1BБолее конкретно, этот символ представляет собой ESC, то есть функцию клавиши ESC на клавиатуре. ESC — это аббревиатура слова escape, что означает побег. Этот управляющий символ появляется в тексте, указывая на то, что следующий символANSI Escape codeкодирование.

а такжеANSI Escape codeВ кодировке есть управляющие символы, которые специально управляют цветом символов, например:\e[31;44;4;1m

Его значение заключается в следующем:

  • \eПредставитель начинаетANSI Escape code
  • [Представляет начальный символ escape-последовательности CSI, интродьюсер управляющей последовательности.
  • 31;44;4;1Представляет элементы управления стилем текста, разделенные символом ;, где 31 означает, что цвет переднего плана текста красный, 44 означает, что фон синий, 4 означает подчеркивание, а 1 означает жирный шрифт.
  • mПредставляет последовательность конечных управляющих символов

Мы можем ввести следующую команду в терминале:

echo -e "\e[37;44;4;1mLEO\e[0m"

Будет получен следующий вывод с подчеркнутым словом LEO:

echo-leo

потому что\eШестнадцатеричный код управляющего символа0x1B, восьмеричный код033, вы также можете использовать следующую запись для достижения того же эффекта:

echo -e "\e[37;44;4;1mLEO\e[0m"
echo -e "\x1b[37;44;4;1mLEO\x1b[0m"
echo -e "\x1B[37;44;4;1mLEO\x1B[0m"
echo -e "\033[37;44;4;1mLEO\033[0m"

echo

пройти черезВикипедияЯ нашел следующие параметры управления символами:

код эффект Примечание
0 сброс/нормальный Закройте все свойства.
1 Жирный или увеличить интенсивность
2 ослабить (уменьшить силу) Широко не поддерживается.
3 курсив Широко не поддерживается. Иногда выглядит как перевернутый дисплей.
4 подчеркивать
5 медленно мигает Ниже 150 ударов в минуту.
6 быстро мигает MS-DOS ANSI.SYS, 150+ в минуту, широко не поддерживается.
7 обратный дисплей Цвета переднего плана и фона меняются местами.
8 Спрятать Широко не поддерживается.
9 стереть Символы ясны, но помечены для удаления. Широко не поддерживается.
10 Основной (по умолчанию) шрифт
11–19 Альтернативные шрифты Выберите альтернативный шрифт {\displaystyle n-10}{\displaystyle n-10}.
20 угловатое тело Почти никакой поддержки.
21 Отключить жирный шрифт или двойное подчеркивание Близкий полужирный шрифт широко не поддерживается, двойное подчеркивание почти не поддерживается.
22 Нормальный цвет или интенсивность Ни сильный, ни слабый.
23 не курсивный, не выделенный
24 Отключить подчеркивание Удалите одиночные и двойные подчеркивания.
25 выключить мигание
27 Выключить
28 закрыть скрыть
29 отключить стирание
30–37 установить цвет переднего плана См. таблицу цветов ниже.
38 установить цвет переднего плана Следующий параметр — 5;n или 2;r;g;b, см. ниже.
39 Цвет переднего плана по умолчанию Определяется реализацией (согласно стандарту).
40–47 установить цвет фона См. таблицу цветов ниже.
48 установить цвет фона Следующий параметр — 5;n или 2;r;g;b, см. ниже.
49 Цвет фона по умолчанию Определяется реализацией (согласно стандарту).
51 Framed
52 Encircled
53 зачеркивать
54 Not framed or encircled
55 отключить обводку
60 Идеографическое подчеркивание или правая линия Почти никакой поддержки.
61 Идеографическое двойное подчеркивание или двойная правая черта
62 Идеографическая линия над линией или левая линия
63 Идеограммы с двойными надписями или двойными левыми линиями
64 Знак идеографического акцента
65 Идеографические свойства отключены Сбрасывает все эффекты с 60 по 64.
90–97 Установите яркий цвет переднего плана aixterm (нестандартный).
100–107 Установите яркий цвет фона aixterm (нестандартный).

Таблица цветового кодирования выглядит следующим образом:

имя код цвета переднего плана код цвета фона
чернить 30 40
красный 31 41
зеленый 32 42
Желтый 33 43
Синий 34 44
пурпурный 35 45
зеленый 36 46
белый 37 47
Яркий черный (серый) 90 100
ярко-красный 91 101
ярко зеленый 92 102
ярко-желтый 93 103
Ярко-голубой 94 104
яркий пурпурный 95 105
ярко-голубой 96 106
белый 97 107

Пример:

\e[31m 红色
\e[36;5;1;4m 缓慢闪烁的青色加粗带下划线字体