
前言
我们都知道,在nodejs环境下使用普通的console.log,console.error,console.info输出都是不会有颜色的,如果你不知道,那你现在知道啦。在这种情况下,如果我们需要彩色输出,则通常通过chalk这个node模块来实现,
chalk使用方法
基本用法

上面代码执行的结果如下,Leo'sBlog加粗,字体颜色是红色,背景颜色是白色。
注意:背景颜色要在bg后面加上具体的颜色,颜色的第一个字母大写。
在HTML中支持RGB颜色,在这里同样支持,而且是支持所有HTML中支持的颜色,如十六进制颜色。这里仅仅说明十六进制颜色。
下面的代码会和上面的代码实现相同的效果。

使用模板
该模块有一个很方便的用法就是支持模板输出,也就是说,不管在字符串中的哪个位置想改变输出的颜色,都是可以的。

当然,也可以使用RGB颜色值。


常见形式
我们经常看到的警告、错误提示就是这么来的


常用API
样式
前景色关键字(非全支持)
背景色关键字(非全支持)
更多API可以看看官方文档。
chalk让控制台输出样式多变的原理
其原理最重要的一个知识点就是ANSIEscapecode.
ASCII编码中有些字符是不能用来在终端中打印显示的,比如'a'0x7代表响铃,''0x0A代表换行,这些字符被称为控制符。
而其中的一个控制符'e'0x1B比较特殊,这个字符代表ESC,即键盘上ESC按键的作用。ESC是单词escape的缩写,即逃逸的意思。文本中出现这个控制符,表示接下来的字符是ANSIEscapecode编码。
而ANSIEscapecode编码中有专门控制字符颜色的控制符,例如:e[31;44;4;1m
其意义如下:
我们可以在终端中输入如下命令:

会有如下输出,带下划线的LEO字样:

因为e控制符的16进制码为0x1B,8进制码为033,也可以用以下写法达到同样效果:


通过维基百科,我查到有以下参数控制符:

颜色编码表如下:

示例:

总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小编的支持。