情報アイランド

「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。

Node.jsで標準出力や標準エラー出力に色付きの文字列を出力する

2016/03/20

標準出力や標準エラー出力に色付きの文字列を出力するにはcolors.jsパッケージのcolorsモジュールを利用します。

colorsモジュールを読み込むことによって組み込みの文字列クラスであるStringクラスが拡張されます。

これにより、文字列に対して文字色や背景色などを指定するための次のような関数を呼び出すことができるようになります。

文字色

  • black
  • red
  • green
  • yellow
  • blue
  • magenta
  • cyan
  • white
  • gray
  • grey

背景色

  • bgBlack
  • bgRed
  • bgGreen
  • bgYellow
  • bgBlue
  • bgMagenta
  • bgCyan
  • bgWhite

スタイル

  • reset
  • bold
  • dim
  • italic
  • underline
  • inverse
  • hidden
  • strikethrough

その他

  • rainbow
  • zebra
  • america
  • trap
  • random

これらの関数を呼び出しても標準出力や標準エラー出力に文字列が出力される訳ではありません。これらの関数を呼び出すことによって文字色や背景色などが指定された文字列が返り値として得られます。

標準出力に文字列を出力するにはこの文字列を引数に指定してprocess.stdout.write関数やconsole.log関数、console.info関数などを呼び出さなければなりません。

標準エラー出力に文字列を出力するにはこの文字列を引数に指定してprocess.stderr.write関数やconsole.error関数、console.warn関数などを呼び出さなければなりません。

サンプルコード1

標準出力に出力する場合です。

process-stdout-colors.js

require('colors');

process.stdout.write('yellow'.yellow);
console.log('red'.red);
console.info('magenta'.magenta);

使用パッケージ

  • colors.js
    npm install colorsでインストールします。

実行結果

下の結果には実際には色が付いています。

C:\work\node>node process-stdout-colors.js
yellowred
magenta

サンプルコード2

標準エラー出力に出力する場合です。

process-stderr-colors.js

require('colors');

process.stderr.write('green'.green);
console.error('blue'.blue);
console.warn("cyan".cyan);

使用パッケージ

  • colors.js
    npm install colorsでインストールします。

実行結果

下の結果には実際には色が付いています。

C:\work\node>node process-stderr-colors.js
greenblue
cyan

関連

pizyumi
プログラミング歴19年のベテランプログラマー。業務システム全般何でも作れます。現在はWeb系の技術を勉強中。
スポンサーリンク

-Node.js