控制台打印圆周率的值_Node.js控制台彩色输出的方法与原理实例详解

本文介绍了如何在Node.js环境中通过chalk模块实现彩色控制台输出。chalk提供简单易用的API,支持模板输出和各种颜色、样式。通过ANSI escape codes原理,可以改变控制台文字的前景色、背景色和样式,使得日志和警告信息更加醒目。文章还展示了chalk的基本用法和一些常见颜色及样式的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

eab063494ca9095cb85adff018edbd9e.png

前言

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

chalk使用方法

基本用法

dd26a5340c05bbf26c0eac489a71d3f6.png

上面代码执行的结果如下,Leo'sBlog加粗,字体颜色是红色,背景颜色是白色。

注意:背景颜色要在bg后面加上具体的颜色,颜色的第一个字母大写。

在HTML中支持RGB颜色,在这里同样支持,而且是支持所有HTML中支持的颜色,如十六进制颜色。这里仅仅说明十六进制颜色。

下面的代码会和上面的代码实现相同的效果。

f541f5a0eb0d5b3072c9ef36fce4755d.png

使用模板

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

c097c4a1c8f7786346bc9e6528a62be7.png

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

2eb37d72ece7c3ff4eca098e38e8d877.png
da1ffc0cf3cecd344025f14c687fb561.png

常见形式

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

8e2247f3680546dc144ec232ed3635a4.png
2b898ac10d409a8a16235d0eb967a686.png

常用API

样式

前景色关键字(非全支持)

背景色关键字(非全支持)

更多API可以看看官方文档。

chalk让控制台输出样式多变的原理

其原理最重要的一个知识点就是ANSIEscapecode.

ASCII编码中有些字符是不能用来在终端中打印显示的,比如'a'0x7代表响铃,''0x0A代表换行,这些字符被称为控制符。

而其中的一个控制符'e'0x1B比较特殊,这个字符代表ESC,即键盘上ESC按键的作用。ESC是单词escape的缩写,即逃逸的意思。文本中出现这个控制符,表示接下来的字符是ANSIEscapecode编码。

而ANSIEscapecode编码中有专门控制字符颜色的控制符,例如:e[31;44;4;1m

其意义如下:

我们可以在终端中输入如下命令:

ebd93f0374f088ad60d06733da2da2c6.png

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

2a772aaf940e2edad1ce2a8ea69ebbc2.png

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

37304d1d482dfa3b996fa5bf2f557662.png
bb6940f336e275d0f8a4ed62b3becc74.png

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

3a1aa4a117ca24a6b63af27ce3236d57.png

颜色编码表如下:

5e4096ab7a6cce0cf7429cc848aaa774.png

示例:

0744b4b00ddfb227763c5303089a691b.png

总结

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值