在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-12至少我正在做的事情。
如何在Node.Js中为控制台获得更多颜色?
您可以使用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的控制台中运行它会导致:
您还可以使用rgb()
函数指定RGB字符串:
console.log(ctx.rgb(255, 136, 0)('Orange!'))