Chalk
chalk可以美化你控制台输出的语句,包括加粗字体、修改字体颜色、改变字体背景色等。主要用来美化相关控制台工具的输出消息和语句。
chalk使用方法
本次教程使用的版本为:4.1.1
基础示例
输出一段蓝色文本
const chalk = require('chalk');
console.log(chalk.blue('---- Hello Chalk ----'));
复制代码
在chalk中,可以分三个对文字进行操作的模块,分别对应:修饰器(Modifiers)、颜色(Colors)、背景色(Background Colors)。这个三个可以进行组合并进行链式调用。样式相关的方法可以无序调用组合
比如下面的两段代码,执行效果一样:
console.log(chalk.bold.blueBright.underline('---- Hello Chalk ----\n'));
console.log(chalk.blueBright.bold.underline('---- Hello Chalk ----\n'));
复制代码
如果出现调用多个颜色函数,已最右边的为准:
console.log(chalk.blueBright.bold.underline.blue.redBright('---- Hello Chalk 3----\n'));
// 最终输出:红色
复制代码
官方列出的对应的函数
修饰器(Modifiers)
- reset 重置样式,这个函数如果是链式调用必须放在最后才能生效。
const chalk = require('chalk');
console.log(chalk.bold.blueBright.reset('---- Hello Chalk ----'));
// 输出:---- Hello Chalk ----(不带任何样式)
复制代码
- bold 加粗字体
- dim 让字体稍微泛光
- italic 斜体(powershell上不支持)
- underline 下划线(git bash上不支持)
- inverse 翻转背景色和前景色
- hidden 打印文本,但使其不可见
- strikethrough 将一条水平线穿过文本的中心(git bash和powershell都不支持)
- visible 仅当chalk的颜色级别为> 0时打印文本。对那些纯粹是装饰的东西很有用
console.log(chalk('---- Hello Chalk 6----'));
console.log(chalk.dim('---- Hello Chalk 6----'));
console.log(chalk.italic('---- Hello Chalk 7----'));
console.log(chalk.underline('---- Hello Chalk 8----'));
console.log(chalk.inverse('---- Hello Chalk 9----'));
console.log(chalk.hidden('---- Hello Chalk 10----'));
console.log(chalk.strikethrough('---- Hello Chalk 11----\n'));
复制代码
内置颜色(Colors)
chalk内置了16种基本颜色。
- black 黑色
- red 红色
- green 绿色
- yellow 黄色
- blue 蓝色
- magenta 品红
- cyan 青色
- white 白色
- blackBright 灰色,等同于gray
- redBright 亮红(自己渣翻译),感觉跟red区别不大
- greenBright 亮绿
- yellowBright 亮黄
- blueBright 亮蓝
- magentaBright 亮品红
- cyanBright 亮青
- whiteBright 亮白
console.log(chalk.magenta('---- Hello Chalk 12----'));
console.log(chalk.cyan('---- Hello Chalk 13----'));
console.log(chalk.blackBright('---- Hello Chalk 14----'));
console.log(chalk.redBright('---- Hello Chalk 15----'))
console.log(chalk.greenBright('---- Hello Chalk 16----'));
console.log(chalk.blueBright('---- Hello Chalk 17----'));
console.log(chalk.yellowBright('---- Hello Chalk 18----'));
console.log(chalk.magentaBright('---- Hello Chalk 19----'));
console.log(chalk.cyanBright('---- Hello Chalk 20----'));
console.log(chalk.whiteBright('---- Hello Chalk 21----'));
复制代码
输出结果如下:
内置的背景色
chalk内置了16种基本颜色。对应了上面字体的16种颜色,这里就不在单独翻译描述了
- bgBlack
- bgRed
- bgGreen
- bgYellow
- bgBlue
- bgMagenta
- bgCyan
- bgWhite
- bgBlackBright
- bgRedBright
- bgGreenBright
- bgYellowBright
- bgBlueBright
- bgMagentaBright
- bgCyanBright
- bgWhiteBright
console.log(chalk.bgBlack('---- Hello Chalk 12----'));
console.log(chalk.bgRed('---- Hello Chalk 12----'));
console.log(chalk.bgGreen('---- Hello Chalk 12----'));
console.log(chalk.bgYellow('---- Hello Chalk 12----'));
console.log(chalk.bgBlue('---- Hello Chalk 12----'));
console.log(chalk.bgMagenta('---- Hello Chalk 12----'));
console.log(chalk.bgCyan('---- Hello Chalk 13----'));
console.log(chalk.bgBlackBright('---- Hello Chalk 14----'));
console.log(chalk.bgRedBright('---- Hello Chalk 15----'))
console.log(chalk.bgGreenBright('---- Hello Chalk 16----'));
console.log(chalk.bgBlueBright('---- Hello Chalk 17----'));
console.log(chalk.bgYellowBright('---- Hello Chalk 18----'));
console.log(chalk.bgMagentaBright('---- Hello Chalk 19----'));
console.log(chalk.bgCyanBright('---- Hello Chalk 20----'));
console.log(chalk.bgWhiteBright('---- Hello Chalk 21----'));
复制代码
输出结果如下:
使用模板字符串
模块由左花括号({)、样式、一些内容和右花括号(})分隔。这里以官网的例子做示范
const chalk = require('chalk');
const miles = 18;
const calculateFeet = miles => miles * 5280;
console.log(chalk`
There are {bold 5280 feet} in a mile.
In {bold ${miles} miles}, there are {green.bold ${calculateFeet(miles)} feet}.
`);
复制代码
输出结果如下:
使用rgb和hex自定义字体颜色,bgRgb和bgHex自定义背景颜色
直接上示例代码
console.log(chalk.rgb(9, 218, 158).bold('---- Hello Chalk 21 ----'))
console.log(chalk.rgb(9, 218, 158).visible('---- Hello Chalk 21 ----'))
console.log(chalk.hex('#09DA9E').visible('---- Hello Chalk 21 ----'))
console.log(chalk.bgHex('#09DA9E').visible('---- Hello Chalk 21 ----'))
console.log(chalk.bgRgb(9, 218, 158).visible('---- Hello Chalk 21 ----'))
复制代码
输出结果:
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END