CHALK - 美化 node 输出的神器

2,894 阅读2分钟

这是一个美化 console.log 输出的包。可以非常方便的输出各种漂亮脸色的 log。然后下一期内容是:inquirer - 命令行交互的神器

不喜欢阅读文字可以观看B站视频版CHALK -美化node输出的神器

基本用法

const chalk = require('chalk');

// 输出的 log 变成蓝色
console.log(chalk.blue('Hello world!'));

粗细、删除线等等

输出可以跟写文档一样可以有字体颜色、背景颜色、粗细、下划线

log(chalk.blue('蓝色'));

log(chalk.bold('加粗'));

log(chalk.bgRed('背景变红'));

log(chalk.underline('下划线'));

log(chalk.italic('斜体'));

链式调用

可是经常会有一个字是蓝色+粗体+下划线这种情况,chalk 也给提供了简单地使用方法:链式调用

log(chalk.blue.bold.bgRed.underline(`蓝色粗体,红色背景,带有下划线`))

一行多种样式

再接着往下走一行输出可能有的地方需要着重加粗,有的不需要

// 方式1,可以多个嵌套
log('我是' + chalk.blue('蓝色') + chalk.bold('加粗') + '的一行文字')
log(chalk`我是${chalk.blue('蓝色')}${chalk.bold('加粗')}的一行文字,chalk.red.bold('蓝色加粗')`)

// 方式2, 推荐的方式
log(chalk`我是{blue 蓝色}{bold 加粗}的一行文字,{red.bold ${'红色'}加粗},{green.bold 我也支持多个属性连用}`)

基本颜色 | rgb | hex | hsl

  1. 本身支持的基本颜色有 7 种:

黑(black) |红(red)) | 绿(green) |黄(yellow)) | 蓝(blue) |品红(magenta) | 蓝绿色(cyan) | 白(white),

  1. 在基本颜色的基础上加上 Bright 又会有 7 种亮色,其中 blackBright 有别名为 gray、grey
  2. 背景也是跟上面的一样的:bgRed,bgRedBright

如果用 red,blue,等熟悉设置颜色顶多也就只能用十来种,我想要多一点:

log(chalk.rgb(123, 45, 67).bold('我是颜色为rgb(123, 45, 67) 字体'))
log(chalk.bold.hex('#DEADED')('我是颜色为#DEADED字体'))
log(chalk.hsl(215, 100, 60)('我是颜色为 hsl("215 100% 60%") 字体'))
log(chalk.keyword('orange')('橘色'))// 可以接收一些颜色的关键词,关键词怎么来的我也不太清楚。。。

log(chalk.bgRgb(123, 45, 67).bold('我是背景颜色为rgb(123, 45, 67) 字体'))
log(chalk.bold.bgHex('#DEADED')('我是背景颜色为#DEADED字体'))
log(chalk.bgHsl(215, 100, 60)('我是背景颜色为 hsl("215 100% 60%") 字体'))
log(chalk.bgKeyword('orange')('背景橘色'))// 可以接收一些颜色的关键词,关键词怎么来的我也不太清楚。。。

其他

他还有好多奇葩的属性:

// 没搞懂有啥用
log(chalk.dim('翻译过来是森林,我也没找到是什么特殊情况'))

// 反转背景色和字体颜色
log(chalk.inverse('默认背景色是黑的,字是白的。用了它之后就变成了白色的背景,黑色的字'))

// 明明打印了文本,却隐藏不可见
log(chalk.hidden('看不到我看不到我'))