✨
【Node.js】コマンドラインから対話式で入力を受け取る方法
目的
Node.jsでコマンドラインから入力を受け取る方法を知ること
状況
- クライアントサーバモデルの簡易版CLIメッセージアプリの作成
- クライアント側はNode.jsで実装
-
process.argv.slice()以外に簡単に記述できる方法がないかを探していた
課題に感じていたこと
process.argv.slice() では対話式にならないこと
CLIに、node client.js reverse abcde のように、関数名と引数を渡して、サーバにデータを送信するのではなく、
「関数名は?」→「引数は?」という流れで実装したいができていなかった
// 引数のみ取得
const argv = process.argv.slice(2);
// CLIに入力されたメソッド名
const method = argv[0];
// 選択した関数に対応するオブジェクトを取得
const selectedMethod = method_table[method];
解決策
Node.js「学び」にある『Accept input from the command line in Node.js』で実装できる
サンプルコードあり
参考URL
Discussion