nodejs 打印五彩斑斓的"黑"

前言

笔者上一篇博客 《如何在命令行中显示五彩斑斓的“黑”》,讲到了任何编程均可以在命令行终端打印彩色字体和彩色背景的文字,以及一些简单文本格式(粗体,下划线,闪烁,反转背景色,隐藏),并给出了 python 语言的实现。为了让前端开发的同窗也能快速使用这一功能,在本身的项目中输出漂亮的日志,笔者用 js 重写了一遍,并发布到 github 和 npm 。读者能够到 github 查看源码,项目地址:github.com/kenblikylee…,也能够直接 npm 安装使用。前端

关于实现原理,能够参考 《如何在命令行中显示五彩斑斓的“黑”》 。下面将直接介绍 colorconsole 的使用。node

1. 安装

原本是直接使用 colorconsole 做为包名的,可是在 publish 时,提示与已有库名称类似。对!是类似,不是重名,但实际搜索包 colorconsole 并无找到相关的包。无奈,官方说不能用就不能用,所以,只能加上一个 scope 前缀 @kenworkspython

npm install --save-dev @kenworks/colorconsole
复制代码

2. 使用

亲测,浏览器环境的控制台不支持ANSI转义序列,所以只能在 nodejs 环境使用。git

var colorconsole = require('@kenworks/colorconsole')
复制代码

colorconsole 提供三个函数:github

colorconsole.log(text, color, bgcolor, effect)

在命令行终端打印彩色文本。npm

  • text: 要打印的文本
  • color: 文本字体颜色,颜色字符串或 0~255 整数
  • bgcolor: 文本背景颜色,颜色字符串或 0~255 整数
  • effect: 文本“特效”,仅支持 5 种,'bold'(粗体), 'underline' (下划线)), 'blink' (闪烁), 'reverse' (背景色反转), 'hide' (隐藏)

使用字符串指定颜色仅支持 8 种:编程

字符串 颜色
'black'
'red'
'green' 绿
'yellow'
'blue'
'magenta' 品红
'cyan'
'white'

colorconsole.text(text, color, bgcolor, effect)

返回带 ANSI转义序列 的字符串,再使用 console.log 打印该字符串,便可看到彩色的日志输出。事实上 colorconsole.log() 就是这样作的,它们的参数定义也是彻底同样的,所以可直接参考 colorconsole.log() 的参数使用。浏览器

colorconsole.plate()

在命令行终端显示 256 种颜色和颜色对应的数值,至关于一个调色板功能。这 256 个颜色数值对应 colorconsole.log()colorconsole.text() 整数颜色取值,所以,能够把 colorconsole.plate() 看做是一个调色板,经过它来指定喜欢的颜色。微信

示例1 :colorconsole.log() 与 colorconsole.text

复制下面的代码到文件 test.js:并发

var colorconsole = require('@kenworks/colorconsole')

colorconsole.log('hello world!', 'red', null, 'bold')

colorconsole.log('hello world!', 'green', null, 'underline')

colorconsole.log('hello world!', 'blue', null, 'blink')

colorconsole.log('hello world!', 'magenta', null, 'hide')

colorconsole.log('hello world!', 'yellow', null, 'reverse')

colorconsole.log('hello world!', 'magenta', 'cyan')

colorconsole.log('hello world!', 228, null, 'blink')

colorconsole.log('hello world!', 9, 228, 'blink')

colorconsole.log('hello world!', null, null, 'reverse')

colorconsole.log('hello world!', 300, 600)

colorconsole.log('hello world!', 100)

colorconsole.log('hello world!', null, 100)

colorconsole.log('hello world!', 200, 300, 'blink', 'I\'m %s!', 'ken')

console.log(colorconsole.text('hello world!', 100, null, 'bold'), 'I\'m ken!')
复制代码

终端运行:

node test.js
复制代码

示例2 :colorconsole.plate() 显示调色板

var colorconsole = require('@kenworks/colorconsole')

colorconsole.plate()
复制代码

Thanks

若是本文对你有帮助,请不要吝惜点赞哦 👍

源码地址:github.com/kenblikylee…


阅读原文


微信扫描二维码 获取最新技术原创

相关文章
相关标签/搜索