はじめに
node.jsのコードの中でcli-spinnerモジュールを使用する機会があったので、どのようなモジュールであるのか簡単にまとめたいと思います。
cli-spinnerとは
Node.js環境で使用されるライブラリで、コマンドラインアプリケーション上でスピナー(アニメーションのようなもの)を表示するために使用されます。スピナーがあることで、何も実行されていないわけではなく、処理中なんだなということが一目で分かり便利です。
サンプルコード
const Spinner = require("cli-spinner").Spinner;
Spinner.setDefaultSpinnerString(1);
// Spinner.setDefaultSpinnerString("|/-\\");
const productionSpinner = new Spinner();
productionSpinner.setSpinnerTitle("Test Spinner..");
productionSpinner.start();
setTimeout(() => {
productionSpinner.stop();
}, 2000);
・const Spinner = require("cli-spinner").Spinner;
cli-spinnerモジュールをインポートし、その中のSpinnerクラスを使用できるようにしています。
・Spinner.setDefaultSpinnerString(1);
Spinner.setDefaultSpinnerString()は、スピナーのデフォルトの回転パターンを設定します。ここでは、引数に1を渡しています。下図のように様々なスピナーがビルトインスピナーとして用意されています。
数字の1などではなく、「"|/-\"」のような文字列を指定することも出来ます。
・const productionSpinner = new Spinner();
新しいスピナーインスタンスを作成しています。
・productionSpinner.setSpinnerTitle("Test Spinner..");
setSpinnerTitle()メソッドを使って、スピナーに表示するタイトル(テキスト)を設定しています。実際はスピナーが左にあり、その右に「Test Spinner..」という文字列が表示されます。
・productionSpinner.start();
start()メソッドはスピナーを開始します。これにより、ターミナルにスピナーが表示され、回転し始めます。スピナーは非同期に動作し、stop()メソッドが呼び出されるまで回転し続けます。
・setTimeout(() => {
productionSpinner.stop();
}, 2000);
setTimeout()は、指定した時間(ここでは2000ミリ秒=2秒)が経過した後に実行する関数を指定します。
ここでは、productionSpinner.stop();が2秒後に実行されます。これにより、スピナーが停止します。
stop()を呼び出さない限り、スピナーは回転し続けますが、2秒後に自動的に終了するように設定されています。
実行結果
このコードにより、スピナーが一時的に表示され、2秒間だけ回転してその後停止する動作を実現しています。
まとめ
node.jsのcli-spinnerモジュールの使用方法についてまとめました。
Reference