2022-10-30
パソコンを操る方法は大きく分けて2つ、Windows/Mac/スマホでおなじみ、ボタンやウィンドウなどの絵で表現しながら操作する、グラフィカルユーザーインターフェイス(GUI)と、言葉を使って会話的に操作する、キャラクタユーザーインターフェイス(CUI)があります(ジェスチャーユーザーインターフェイスはGUIの一種、SiriやAlexaなどボイスユーザーインターフェイスはCUIの一種とみなします)。

一部では黒い画面と恐れられるというCUIですが、IchigoJam BASICを知っているこどもたちにはおなじみのコンピューターとの会話なので、キーボードに慣れてしまえばGUIより柔軟に使いこなせて便利です。CUIで使うコマンドはUIをデザインする工程を省略できるので作るのも簡単。プログラミング初心者でもオリジナルアプリづくりにチャレンジしやすいのもポイントです。

CUIで使うコマンドにはプログラムへの入力や設定値をオプション(--helpなど)として指定しますが、その受け渡しライブラリとしてNode.jsでよく使われている「Commander.js」を、Denoで使えるESモジュールに変換!(npmで依存プロダクトが67,861、GitHubでスター2.37万


「code4fukui/commander-es: Deno command-line interfaces made easy」

使い方は簡単!ESモジュールをimportして、下記のようにコマンドとオプションをパースしてくれるライブラリです。 import { program } from 'https://code4fukui.github.io/commander-es/index.js'; program .version("0.0.2") .argument("[port number]") .option('--ipv4') .parse(); console.log(program.opts()); console.log(program.processedArgs); 「--help」によるヘルプ機能を自動的に作ってくれます。いろんなオプションを持った新コマンド、欲しいものから作っていきましょう!

WebAPIづくりに便利な「サクっとつくるWebAPIサーバー in Deno、wsutil」にIPv4モードが欲しかったので、早速導入してみました。

どんなコマンドが欲しいですか?

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS