【问题标题】:How can I get more colors for node.js console如何为 node.js 控制台获取更多颜色
【发布时间】:2019-02-06 18:28:54
【问题描述】:

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

【问题讨论】:

  • 你试过粉笔吗?他们(过去)支持真彩色
  • 我刚试了一下,效果很好,你为什么不把这个作为答案?它完全符合我的要求:D
  • 我真的认为我们可以在这里就该主题展开某种讨论。就像你说“不,但我现在就试试”,然后我会写一个答案......
  • 希望它仍然相关 ;-)

标签: javascript node.js colors console


【解决方案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 的控制台中运行,结果如下:

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

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

【讨论】:

    【解决方案2】:

    这些是标准的 Linux 终端颜色,更多信息,您可以在这里查看https://bixense.com/clicolors/

    【讨论】:

      猜你喜欢
      • 2018-04-10
      • 2018-01-06
      • 2019-12-27
      • 1970-01-01
      • 2012-01-24
      • 1970-01-01
      • 2015-06-16
      • 2011-03-31
      相关资源
      最近更新 更多