文本着色
在控制台中添加特殊字符以着色打印文本(与 console.log()
结合使用)。
- 使用模板字符串和特殊字符将适当的颜色代码添加到字符串输出中。
- 对于背景颜色,在字符串末尾添加一个特殊字符来重置背景颜色。
const colorize = (...args) => ({
black: `\x1b[30m${args.join(' ')}`,
red: `\x1b[31m${args.join(' ')}`,
green: `\x1b[32m${args.join(' ')}`,
yellow: `\x1b[33m${args.join(' ')}`,
blue: `\x1b[34m${args.join(' ')}`,
magenta: `\x1b[35m${args.join(' ')}`,
cyan: `\x1b[36m${args.join(' ')}`,
white: `\x1b[37m${args.join(' ')}`,
bgBlack: `\x1b[40m${args.join(' ')}\x1b[0m`,
bgRed: `\x1b[41m${args.join(' ')}\x1b[0m`,
bgGreen: `\x1b[42m${args.join(' ')}\x1b[0m`,
bgYellow: `\x1b[43m${args.join(' ')}\x1b[0m`,
bgBlue: `\x1b[44m${args.join(' ')}\x1b[0m`,
bgMagenta: `\x1b[45m${args.join(' ')}\x1b[0m`,
bgCyan: `\x1b[46m${args.join(' ')}\x1b[0m`,
bgWhite: `\x1b[47m${args.join(' ')}\x1b[0m`
});
console.log(colorize('foo').red); // 'foo'(红色字母)
console.log(colorize('foo', 'bar').bgBlue); // 'foo bar'(蓝色背景)
console.log(colorize(colorize('foo').yellow, colorize('foo').green).bgWhite);
// 'foo bar'(第一个单词为黄色字母,第二个单词为绿色字母,两者都有白色背景)