tj/commander.js: node.js command-line interfaces made easy というNode.jsでCLIのコマンドを作るときに便利なモジュールがあるのですが,毎回複数の値を配列で受け取りたいときの書き方を忘れるのでメモしておく.
const commander = require('commander'); commander .version('0.0.1') // --id XXX --id YYY の形式をサポート .option( '--id [String]', 'Target IDs', (val, ret) => { ret = ret || []; ret.push(val); return ret; } ) .parse(process.argv); console.log(commander.id); process.exit(1);
$ node command/util/wms/daiwa/sync_daiwa_stocks.js --id hoge [ 'hoge' ] $ node command/util/wms/daiwa/sync_daiwa_stocks.js undefined $ node command/util/wms/daiwa/sync_daiwa_stocks.js --id hoge --id fuga [ 'hoge', 'fuga' ]