Commander.jsを使ってみたよ
この前はoptimistを使ってみたんですが、TJ作のCommander.jsってのもあったのでそれも使ってみることに。
環境:Windows XP SP3 / node 0.6.14 / npm 1.1.12
インストール
> npm install commander
試してみる
#!/usr/bin/env node // aaa.js var app = require('commander'); app .version('0.0.1') .option('-s, --sugoi', 'sugoi option') ; app .command('bbb') .description('bbb command') .option('-q, --qqqqq', 'qqqqq') .option('-u', 'u') .action(function (args) { console.log(args.qqqqq); console.log(args.U); }) ; app.parse(process.argv);
メソッドチェーンが気持ち良い感じ。
こんな感じで書いてあげると次みたいな結果になります。
> node aaa.js --help Usage: aaa.js [options] [command] Commands: bbb [options] bbb command Options: -h, --help output usage information -V, --version output the version number -s, --sugoi sugoi option > node aaa.js --version 0.0.1 > node aaa.js bbb undefined undefined > node aaa.js bbb --help Usage: bbb [options] Options: -h, --help output usage information -q, --qqqqq qqqqq -u u > node aaa.js bbb -q true undefined > node aaa.js bbb -qu true true
-h,--helpと-V,--versionは勝手に追加してくれたり、ラクチン。
actionで受け取るパラメータに気を付ければ、とても便利なライブラリ。