如何为Node.js控制台获取更多颜色

时间:2018-08-31 17:28:39

标签: javascript node.js colors console

this answer中,用户详细描述了使用node.js时如何在控制台中为文本着色。官方文档甚至贴在答案的注释中。

不幸的是,这仅向我们展示了如何为文本使用8种颜色,为背景使用相同的8种颜色。实际上,由于任何文本都将在相同的背景颜色下不可见,因此这意味着我们只能使用7种颜色,除非我们愿意经常更改背景。

FgBlack = "\x1b[30m"
FgRed = "\x1b[31m"
FgGreen = "\x1b[32m"
FgYellow = "\x1b[33m"
FgBlue = "\x1b[34m"
FgMagenta = "\x1b[35m"
FgCyan = "\x1b[36m"
FgWhite = "\x1b[37m"

我正在寻找的是一种为控制台获取更多颜色的方法。它可以与外部模块或库一起使用,可以是正式的,也可以不是正式的,等等。

具体来说,橙色,紫色,粉红色和棕色是非常常见的颜色,我认为可以通过某种方式获得它们。

当然,理想的情况是直接提供RGB的某种方式,因此我也可以制作自己的颜色阴影,但是我接受任何可以提供至少4种颜色的答案,因为我需要我正在做的事情至少要11-11。

如何在Node.Js中为控制台获取更多颜色?

2 个答案:

答案 0 :(得分:1)

您可以为此使用chalk

首先,请确保为粉笔启用Truecolor,以便可以使用所有要使用的颜色:

const chalk = require("chalk"),
      ctx = new chalk.constructor({level: 3}); // 3 for Truecolor: https://github.com/chalk/chalk#chalklevel

之后,您可以使用CSS中的扩展颜色,例如橙色,紫色,粉红色和棕色:

console.log(ctx.keyword('orange')('Orange!'))
console.log(ctx.keyword('purple')('Purple!'))
console.log(ctx.keyword('pink')('Pink!'))
console.log(ctx.keyword('brown')('Brown '))

在也支持Truecolor的控制台中运行该命令会导致以下结果:

enter image description here

您还可以使用rgb()函数指定RGB字符串:

console.log(ctx.rgb(255, 136, 0)('Orange!'))

答案 1 :(得分:0)

这些是标准的Linux终端颜色,有关更多信息,请参见https://bixense.com/clicolors/