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

问题描述 投票:1回答:1

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中为控制台获得更多颜色?

javascript node.js colors console
1个回答
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!'))
© www.soinside.com 2019 - 2024. All rights reserved.