前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nodejs 打印五彩斑斓的"黑"

nodejs 打印五彩斑斓的"黑"

作者头像
我是一条小青蛇
发布2019-10-23 17:15:59
1.2K0
发布2019-10-23 17:15:59
举报
文章被收录于专栏:青笔原创青笔原创

前言

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

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

1. 安装

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

npm install --save-dev @kenworks/colorconsole

2. 使用

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

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

colorconsole 提供三个函数:

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

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

  • 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()

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1. 安装
  • 2. 使用
    • colorconsole.log(text, color, bgcolor, effect)
      • colorconsole.text(text, color, bgcolor, effect)
        • colorconsole.plate()
          • 示例1 :colorconsole.log() 与 colorconsole.text
            • 示例2 :colorconsole.plate() 显示调色板
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档