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

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中实现终端彩色输出的主要技巧。希望本文提供的参考信息对您的学习或工作有所帮助,感谢支持。