Node.jsでコマンドライン引数を取得するときに便利なCommanderの紹介
Node.jsでコマンドライン引数を取得するときに Commander を利用すると便利だったので紹介。
やりたいこと
例えばあるNode.jsアプリで、以下をコマンドラインのオプションとして指定したいとする。
- ボットを含む場合は、-ib オプションを付与する
- 開始日を -s 2020-01-01 のように指定したい。-s オプションの指定がない場合は 1900-01-01 がデフォルで指定される
- 終了日を -e 2020-01-01 のように指定したい。デフォルトはなし
実際のコード
var program = require('commander');
program
.version('0.0.1')
.option('-s, --start [date]', 'history start [2020-10-28]', '1900-01-01')
.option('-e, --end [date]', 'history end [2020-10-28]')
.option('-ib, --include-bot', 'include bot messages')
.parse(process.argv);
console.log('@@@args@@@')
if (program.includeBot) console.log('include-bot')
console.log('start: %s', program.start)
if (program.end) console.log('end: %s', program.end)
option の第二引数は、以下のようにヘルプの文章として表示される。
$ node app.js -h
Usage: app [options]
Options:
-V, --version output the version number
-s, --start [date] history start [2020-10-28] (default: "1900-01-01")
-e, --end [date] history end [2020-10-28]
-ib, --include-bot include bot messages
-h, --help display help for command
-s のようにデフォルト値がある場合は、第三引数に指定する。
ディスカッション
コメント一覧
まだ、コメントがありません