使用粉笔库对终端进行样式/着色。
import chalk from 'chalk';如果我用:
console.log(chalk.blue('foobar'));这是完全可读的终端在一个轻的背景,但完全不可读的终端在一个黑暗的背景。
是否有方法在运行时确定终端的背景色?
举例:
"npm notice"日志级别就是这个问题的一个例子:

在黑色上很难读懂蓝色。
发布于 2018-05-06 23:17:53
下面是一个关于ANSI逃逸序列在tty上下文中的通用答案。
要通过交换背景/前景来突出显示特定的序列,以便在所有配色方案中保持可读性,请使用代码7反向视频。
这样就没有必要事先知道调色板和适应。
在bash中,使用反向视频:
echo -e "\033[7mHello world\e[0m"这可以被链接,反向视频,和红色背景:
echo -e "\033[31;7mHello world\e[0m"这在任何背景下都是可读的,比如这个gif的第二行:

在软件程序中,通常使用反向视频作为视觉辅助,突出显示作为帮助防止描述错误的选择,其中对非预期对象执行预期的操作。在现代桌面环境中,更常见的做法是将背景更改为其他颜色,如蓝色,或者使用半透明的背景“突出显示”选定的文本。在理解ANSI转义序列的终端上,使用逃逸序列CSI 7m(等于SGR 7)激活反向视频功能。视频
从我自己的回答:如何在Linux中更改echo的输出颜色,一个包含大量关于ansi序列的信息的问题。
https://stackoverflow.com/questions/50027162
复制相似问题