Node.js 之 cli-color

标签: Node-js cli-color
557人阅读 评论(0) 收藏 举报
分类:

来自 https://www.npmjs.com/package/cli-color

简介

Colors, formatting and other tools for the console

改变控制台输出文本的颜色、文本格式化。

cli-color

安装

如果安装速度慢可以使用npm淘宝镜像。

$ npm install cli-color

使用

var clc = require('cli-color');

// 输出红色文本
console.log(clc.red('Text in red'));

// 白色背景的红色文字,并且带有下划线
console.log(clc.red.bgWhite.underline('Underlined red text on white background.'));

// 混合使用带样式的文本和普通文本
console.log(clc.red('red') + ' plain ' + clc.blue('blue'));

// 可以嵌套
console.log(clc.red('red ' + clc.blue('blue') + ' red'));

一种优雅的使用方法

var error = clc.red.bold;
var warn = clc.yellow;
var notice = clc.blue;

console.log(error('Error!'));
console.log(warn('Warning'));
console.log(notice('Notice'));

样式

  • bold
  • italic
  • underline
  • blink
  • inverse
  • strike

颜色

参考 https://www.npmjs.com/package/cli-color

重置

当前应用的所有控制台显示被清空。

process.stdout.write(clc.reset);

清除

process.stdout.write(clc.erase.screen);
process.stdout.write(clc.erase.screenLeft);
process.stdout.write(clc.erase.screenRight);
process.stdout.write(clc.erase.line);
process.stdout.write(clc.erase.lineRight);
process.stdout.write(clc.erase.lineLeft);

移动插入符位置

// Move cursors two columns and two rows back
process.stdout.write(clc.move(-2, -2));

// Move cursor to first row and first column in terminal window
process.stdout.write(clc.move.to(0, 0));

// 向上移动两行
process.stdout.write(clc.move.up(2));

// 向下移动两行
process.stdout.write(clc.move.down(2));

// 向右移动两列
process.stdout.write(clc.move.right(2));

// 向左移动两列
process.stdout.write(clc.move.left(2));

// 向下移动两行,如果为负值则向上移动
process.stdout.write(clc.move.lines(2));

获得控制台窗口宽度高度(字符数)

clc.widnowSize.width
clc.windowSize.height

其他功能

clc.slice

var clc = require('cli-color')

var str = clc.bold('foo') + 'bar' + clc.red('elo');
var sliced = clc.slice(str, 1, 7); // Same as: clc.bold('oo') + 'bar' + clc.red('e')

clc.strip

var ansiStrip = require('cli-color/strip');

var plain = ansiStrip(formatted);

clc.getStrippedLength

var clc = require('cli-color');

var str = clc.bold('foo') + 'bar' + clc.red('elo');
clc.getStrippedLength(str); // 9 

clc.art

var text = '.........\n' +
    '. Hello .\n' +
    '.........\n';
var style = { ".": clc.yellowBright("X") };

process.stdout.write(clc.art(text, style));

clc.art

throbber 动态风火轮

类似npm安装某个包时的动态图示。

var setupThrobber = require('cli-color/throbber');

var throbber = setupThrobber(function (str) {
  process.stdout.write(str);
}, 200);

throbber.start();

// at any time you can stop/start throbber 
throbber.stop();
查看评论

vue学习- style里的缩进一定要注意

缩进不对, 格式没对齐,都会报错 #app .tab display: flex width: 100% height: 40px line-heig...
  • lhq186
  • lhq186
  • 2017-08-16 17:42:05
  • 475

Nodejs-cli 填坑记

真的是玩玩没想到,一个cli竟然坑了我这么久,想当年写Python命令行工具的时候,哪有这么麻烦?随随便便写几下,添加个批处理命令脚本就搞定了。怎么Nodejs写一个就这么不顺利呢? 吐槽归吐槽,当...
  • Marksinoberg
  • Marksinoberg
  • 2017-06-12 15:26:31
  • 7666

网站技术细节

lnmp + http cache jq + config linux:order + shell  * http://blog.csdn.net/learner811/article/detail...
  • learner811
  • learner811
  • 2015-09-02 17:16:32
  • 1571

史上最详细的 webpack 讲解 1 (vue-cli 中 build.js)

看过我vue.js系列课程的人,基础会的就都该会了,进阶牛B点的也很牛B了,但是对vue这一块我还是会持续有新的想法和学习到的东西我还是会一直进行分享,但是今天又是一个史上的文章出来了,虽然有点标题党...
  • sinat_17775997
  • sinat_17775997
  • 2017-04-12 10:45:17
  • 2643

Node.js实战

  • 2018年01月22日 22:08
  • 10.22MB
  • 下载

casperjs的高级应用

Casper class: 可以通过这个模块的create()方法来获取这个模块的一个实例,这是最容易的: var casper = require('casper').creat...
  • Winterto1990
  • Winterto1990
  • 2016-04-27 20:03:25
  • 4242

WebSocket 教程

一、为什么需要 WebSocket?初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处?答案很简单,因为 HTTP 协议有一个...
  • qq_15766181
  • qq_15766181
  • 2017-05-18 09:44:38
  • 121

node.js实战

  • 2018年03月02日 10:02
  • 27.33MB
  • 下载

C++例子

转载 :http://blog.csdn.net/zhusg/article/details/8800238
  • wwb456
  • wwb456
  • 2017-10-12 14:58:52
  • 1044

前端开发之功能封装大全

转自:https://segmentfault.com/a/1190000011966867 前言 作为战斗在业务一线的前端,要想少加班,就要想办法提高工作效率。这里提一个小点,我们在...
  • qq_39985511
  • qq_39985511
  • 2017-12-09 20:49:32
  • 72
    个人资料
    持之以恒
    等级:
    访问量: 8万+
    积分: 1112
    排名: 4万+
    个人主页
    最新评论