替换console.log()中的参数并为其着色

时间:2018-12-19 09:01:47

标签: javascript node.js chalk

Node.js有一个不错的模块,称为chalk,它允许将颜色和文本格式应用于console.log()函数。

如果我写这样的东西:

console.log("test string substitution with coloring: %s, %s", chalk.red("red"), chalk.magenta("magenta"));    

它将使用字符串替换并输出正确着色的红色和mageenta:

enter image description here

现在我要制作的功能是使函数将接受带有替换文字的文本作为第一个参数,然后接受可变数量的参数,

  1. subsubtitude对应的替换文字(就像常规console.log()一样);
  2. 每个传递的参数均应使用chalk.red()涂成红色;

例如:

function log(text, ...args) {
   // magic here
}

log("This must be %s, and %s as well", "red", "this must be red");

这应该给出这个:

example

我尝试使用console.log(text, chalk.red.apply(null, args)),但似乎并没有产生我想要的东西。

1 个答案:

答案 0 :(得分:3)

您只需要将数组扩展到apiVersion: v1 clusters: - cluster: certificate-authority-data: 中即可。例如,您可以内嵌console.log()

map()

当然,您也可以使其成为函数:

let chalk = require('chalk')

console.log("test string substitution with coloring: %s and %s",  ...["red", "this must be red"].map(t => chalk.red(t)));