Node.js中使用ANSI转义序列实现console.log彩色输出

作者:终端旅客

时间:2026-10-24

浏览:225

本文介绍在Node.js中利用ANSI转义序列实现console.log彩色输出的方法。通过解析\033[背景色;字色m格式,可自定义黑、红、绿、黄、蓝、紫等颜色组合。文章详细列举了高亮、下划线、光标移动及清屏等常用控制符,帮助开发者优化终端日志的可读性。

文章目录

Node.js彩色输出示例

代码示例


console.log('\033[42;30m DONE \033[40;32m Compiled successfully in 19987ms\033[0m')

运行结果

Node.js彩色输出示例

ANSI转义码原理

原理分析

观察示例代码可知,核心在于使用类似 \033[42;30m 的格式字符串。将其转换为通俗描述,即 \033[背景色编号;字色编号m 的结构。

字色编号定义如下:30代表黑色,31代表红色,32代表绿色,33代表黄色,34代表蓝色,35代表紫色,36代表深绿色,37代表白色。背景色编号定义如下:40代表黑色,41代表红色,42代表绿色,43代表黄色,44代表蓝色,45代表紫色,46代表深绿色,47代表白色。

是否已掌握其规律?

依据上述色号规则,可对前述代码进行解读:首先使用绿底(42)黑字(30)显示“DONE”,随后切换为黑底(40)绿字(32)显示剩余信息,最后通过 \033[0m 重置所有属性以恢复默认样式。

常用控制符列表

此外,还存在一些特殊的功能标记:

  • \033[0m 用于关闭所有已设置的属性。
  • \033[1m 用于设置高亮显示。
  • \033[4m 用于添加下划线。
  • \033[5m 用于设置闪烁效果。
  • \033[7m 用于反显文本。
  • \033[8m 用于消隐文本。
  • \033[nA 用于将光标上移n行。
  • \033[nB 用于将光标下移n行。
  • \033[nC 用于将光标右移n列。
  • \033[nD 用于将光标左移n列。
  • \033[y;xH 用于设置光标位置,其中y为列号,x为行号。
  • \033[2J 用于清空屏幕内容。
  • \033[K 用于清除从当前光标位置到行尾的内容。

总结

以上内容涵盖了Node.js中实现终端彩色输出的主要技巧。希望本文提供的参考信息对您的学习或工作有所帮助,感谢支持。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章