🔥

【ポートフォリオ 06 課題1】Node.jsでCLI入力を対話式にする方法

に公開

はじめに

異なる言語間でのデータ送受信の流れを知り、簡易版RPCを作成するプログラムに取り組みました。
詳細は、以下の記事にまとめましたので、ご参照ください。

ポートフォリオに関する記事はこちら
https://zenn.dev/mabo23/articles/ed405ae9239058

プログラム作成中、多くの課題に遭遇したため、実装中に発生した課題を1つずつ記事としてまとめていきます。

この記事では、Node.jsを使って、CLIで対話式を実現する方法について解説していきます。

当初の実装

CLIに「ファイル名・関数名・引数」を入力し、process.argv を使用して、一度に必要な情報を取得する

生じた課題

ユーザーの入力内容に応じて柔軟に次の指示や修正箇所を促すことができない

理想の処理の流れ

  1. node client.js (node ファイル名)
  2. 関数名の入力を促す → 関数名の入力
  3. 引数の入力を促す → 引数の入力

解決策(改善後)

Node.jsの標準モジュール「readline」を使用し、対話式で実装する

実際のコード

GitHubアカウント
https://github.com/Mavo39/backend-portfolio/blob/main/05_remote_procedure_call/src/client/client.js

※コードのクリーンネスについては改善の余地はありますが、これで対話式を実現しています。

最後までお読みいただき、ありがとうございました。

参考URL

https://qiita.com/furusin_oriver/items/f030d1eaa9e7b54233c3

https://nodejs.org/api/readline.html

Discussion