0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

(Node.js) cli-spinnerモジュールを理解する

Posted at

はじめに

node.jsのコードの中でcli-spinnerモジュールを使用する機会があったので、どのようなモジュールであるのか簡単にまとめたいと思います。

cli-spinnerとは

Node.js環境で使用されるライブラリで、コマンドラインアプリケーション上でスピナー(アニメーションのようなもの)を表示するために使用されます。スピナーがあることで、何も実行されていないわけではなく、処理中なんだなということが一目で分かり便利です。

サンプルコード

cli-spinner.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を渡しています。下図のように様々なスピナーがビルトインスピナーとして用意されています。

スクリーンショット 2024-09-24 12.27.05.png

数字の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秒後に自動的に終了するように設定されています。

実行結果

スクリーンショット 2024-09-24 12.35.16.png

このコードにより、スピナーが一時的に表示され、2秒間だけ回転してその後停止する動作を実現しています。

まとめ

node.jsのcli-spinnerモジュールの使用方法についてまとめました。

Reference

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?