脚手架系列-chalk

Chalk

chalk可以美化你控制台输出的语句,包括加粗字体、修改字体颜色、改变字体背景色等。主要用来美化相关控制台工具的输出消息和语句。

g1WFzT.png

chalk使用方法

本次教程使用的版本为:4.1.1

官方地址:github.com/chalk/chalk

基础示例

输出一段蓝色文本

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'));
复制代码

g3NR6P.png

内置颜色(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----'));
复制代码

输出结果如下:

g3UmAe.png

内置的背景色

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----'));
复制代码

输出结果如下:

g3aYKx.png

使用模板字符串

模块由左花括号({)、样式、一些内容和右花括号(})分隔。这里以官网的例子做示范

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}.
`);
复制代码

输出结果如下:

g3wZ7T.png

使用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 ----'))
复制代码

输出结果:

g3DP9e.png

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享