为输出着色

可以使用转义序列在控制台中为文本的输出着色。 转义序列是一组标识颜色的字符。
例如:

console.log('\x1b[33m%s\x1b[0m', '你好')

可以在 Node.js REPL 中进行尝试,它会打印黄色的 你好。
如下图所示:

当然,这是执行此操作的底层方法。 为控制台输出着色的最简单方法是使用库。 Chalk 是一个这样的库,除了为其着色外,它还有助于其他样式的设置(例如使文本变为粗体、斜体或带下划线)。
可以使用 npm install chalk 进行安装,然后就可以使用它:

const chalk = require('chalk')
console.log(chalk.yellow('你好'))

与尝试记住转义代码相比,使用 chalk.yellow 方便得多,并且代码更具可读性。

更多的用法示例,详见项目链接https://github.com/chalk/chalk。

Chalk库 - Terminal string styling done right

强调

  • 富有表现力的API
  • 高效能
  • 嵌套样式的能力
  • 256 / Truecolor颜色支持
  • 自动检测颜色支持
  • 不扩展String.prototype
  • 干净而专注
  • 积极维护
  • 截至2020年1月1日,约有50,000个软件包使用

安装

$ npm install chalk

使用

const chalk = require('chalk');console.log(chalk.blue('Hello world!'));

Chalk带有易于使用的可组合API,您只需在其中链接和嵌套所需的样式即可。

const chalk = require('chalk');
const log = console.log;// Combine styled and normal strings
log(chalk.blue('Hello') + ' World' + chalk.red('!'));// Compose multiple styles using the chainable API
log(chalk.blue.bgRed.bold('Hello world!'));// Pass in multiple arguments
log(chalk.blue('Hello', 'World!', 'Foo', 'bar', 'biz', 'baz'));// Nest styles
log(chalk.red('Hello', chalk.underline.bgBlue('world') + '!'));// Nest styles of the same type even (color, underline, background)
log(chalk.green('I am a green line ' +chalk.blue.underline.bold('with a blue substring') +' that becomes green again!'
));// ES2015 template literal
log(`
CPU: ${chalk.red('90%')}
RAM: ${chalk.green('40%')}
DISK: ${chalk.yellow('70%')}
`);// ES2015 tagged template literal
log(chalk`
CPU: {red ${cpu.totalPercent}%}
RAM: {green ${ram.used / ram.total * 100}%}
DISK: {rgb(255,131,0) ${disk.used / disk.total * 100}%}
`);// Use RGB colors in terminal emulators that support it.
log(chalk.keyword('orange')('Yay for orange colored text!'));
log(chalk.rgb(123, 45, 67).underline('Underlined reddish color'));
log(chalk.hex('#DEADED').bold('Bold gray!'));

轻松定义自己的主题:

const chalk = require('chalk');const error = chalk.bold.red;
const warning = chalk.keyword('orange');console.log(error('Error!'));
console.log(warning('Warning!'));

利用console.log字符串替换:

const name = 'Sindre';
console.log(chalk.green('Hello %s'), name);
//=> 'Hello Sindre'

Chalk-控制台输出着色Nodejs库相关推荐

  1. 为什么printf可以直接uart输出_AURIX 学习笔记(6)标准库中串口控制台输出

    串口控制台输出 开发单片机与开发 PC 机上软件最大的一点不同就是不像 PC 上,有丰富的调试手段.虽然今天调试器非常先进,只要有配套的 IDE,单步.断点调试已经和 PC 上体验差距不大[1],但 ...

  2. python控制台输出到文件_Python print 立即打印内容到重定向的文件

    看到本文标题也许要奇怪了,Python 的 print 难道不是也上可以看到结果的吗?在 Python shell 下只要 >> print('Hello world!') Hello w ...

  3. C# 在自定义的控制台输出重定向类中整合调用方信息

    C# 在自定义的控制台输出重定向类中整合调用方信息 目录 C# 在自定义的控制台输出重定向类中整合调用方信息 一.前言 二.输出重定向基础版 三.输出重定向进阶版(传递调用方信息) 四.后记及资源 独 ...

  4. 利用正则实现彩色控制台输出

    最近忙了一阵less的二次开发的工作,期间遇到了不少需要向控制台输出彩色文字的需求.翻了下以前同事的代码,发现要么自己拼转义字符串,要么使用一些不太好用的第三方库,总之都不是很合自己的口味.按照自己的 ...

  5. [C/C++]宽字符与控制台输出

    在我刚开始学C/C++的时候,字符类型使用的都是char.接触Win32编程之后,养成了使用wchar_t的习惯,于是再写控制台程序的时候自然就使用wchar_t了.然而在控制台程序中使用宽字符会导致 ...

  6. 熔断和降级的初步详解实现(NET Core控制台输出讲解Polly)

    熔断和降级的初步详解实现(NET Core控制台输出讲解Polly) 概述 熔断和降级概念理解 熔断机制概念 降级机制概念 什么是 Polly Polly的基本用法 1.重试策略(Retry) 2.断 ...

  7. Python学习02、输入输出、控制台输出、格式化字符串的方式、运算符

    输入输出 和用户交互 我们把用户将信息传递给程序的过程叫做输入 把程序将结果展示给用户的过程称为输出 输入输出的最基本方法就是控制台.用户通过控制台输入一些字符串,程序再通过控制台打印出一些字符串 那 ...

  8. javascript控制台_超越控制台日志3种在javascript中格式化控制台输出的方法

    javascript控制台 As JavaScript developers, we intuitively use console.log() to debug, print out variabl ...

  9. python-在控制台输出表格,对表格内的数据进行排序

    实现功能:在控制台输出表格,并对表格内的数据进行排序!这里对一些编程书籍的数量和价格进行简单排序! 由于用到python的prettytable库,所以先在电脑安装! 安装步骤: win+r键,输入p ...

最新文章

  1. 什么是JSON?我为什么要使用它?
  2. 使用Mybatis Generator自动生成代码
  3. [GWCTF 2019]babyvm
  4. 怎么给web 服务器 传文件,web文件传到服务器
  5. 数据结构之单向环形列表解决josef问题
  6. 网约车司机无证最低罚款拟从10000元降至200元
  7. python爬虫菜鸟教程-python爬虫项目(新手教程)之知乎(requests方式)
  8. 为什么给他们讲WP的技术秘密
  9. revit 转换ifc_revit怎么导ifc?如何使用FME在Revit中导出IFC
  10. linu修改open files无效_安卓容器app如何使用 容器app修改机型方法【详解】
  11. icode青少年编程比赛网站学生刷题进度爬虫
  12. 如何给电脑版QQ、微信、爱奇艺设置代理
  13. (转载)yocto相关class总结
  14. 车机安卓+linux成本,你的车机为什么比千元安卓机还难用?
  15. 20050620 GNU Bison 中文手册翻译完成
  16. Java学习07–前端基础之CSS
  17. 国产CAD软件对于AutoCAD,更适合哪种?
  18. utils util
  19. 用css解决Unigui在IE系列浏览器中字体变小的问题
  20. “我让这个世界更酷”2022华清远见研发产品发布会圆满成功

热门文章

  1. 【数理统计】F检验与单因素方差分析
  2. RSA的非对称加密,公钥加密私钥解密,本地测试
  3. 有介质的高斯定理详细证明(电偶极子模型)以及例题讲解
  4. Couchbase评论:智能NoSQL数据库
  5. unity 获取两个向量夹角
  6. SpringBoot——安全管理(一)
  7. JavaScript 中 innerHTML 属性
  8. 昆山python线下培训班,苏州昆山有没有python培训班(会python的好处)
  9. 用账户锁定策略防止黑客暴力破解管理员帐户登录密码
  10. 全球隔离,生出不少坏毛病