Node.js 之 cli-color

來自 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();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章