Node.jsでコマンドラインからの入力を受け付ける
Node.jsのCLIプログラムを対話形式にするには?
Node.jsはバージョン7以降、まさにこれを実行するためのreadlineモジュールを提供しています。これはprocess.stdinストリームのような読み取り可能なストリームから入力を受け取ります。Node.jsプログラムの実行中、これはターミナルの入力であり、一度に1行ずつ処理されます。
const = ('node:readline');
const = .({
: .,
: .,
});
.(`What's your name?`, => {
.(`Hi ${}!`);
.();
});
このコードはユーザーの名前を尋ね、テキストが入力されてユーザーがEnterキーを押すと、挨拶を送信します。
question()メソッドは、最初のパラメータ(質問)を表示し、ユーザーの入力を待ちます。Enterキーが押されると、コールバック関数を呼び出します。
このコールバック関数の中で、readlineインターフェースを閉じます。
readlineは他にもいくつかのメソッドを提供しています。詳細については、上記のパッケージドキュメントへのリンクを確認してください。
パスワードを要求する必要がある場合は、それをエコーバックするのではなく、*記号を表示するのが最善です。