LoginSignup
3
5

More than 5 years have passed since last update.

commanderの使い方

Last updated at Posted at 2017-01-20

commanderとは

インストール

npm i commander

簡単な使い方

version

プログラムのバージョンを設定

  • -hでバージョンが表示される

option

オプションの項目を設定
引数の値は格納される変数名にもなる

  • 省略引数(-p)
  • 引数(--purpos)
  • 説明
  • デフォルト値
  • パース関数
  • option(省略引数,引数,説明,[デフォルト値],[パース関数])

parse

対象となるオプション引数を指定する

  • 通常はprocess.argvを指定

example

const program = require('commander');
program
  .version('0.0.1')
  .option('-p, --pen', 'Add pen')
  .option('-a, --apple', 'Add apple')
  .option('-P, --pineapple', 'Add pineapple')
  .option('-c, --cheese [type]', 'Add the specified type of cheese [marble]', 'marble')
  .parse(process.argv);

const main = (program) => {
  if(program.pen){
    console.log("pen")
  }
  if(program.apple){
    console.log("apple")
  }
  if(program.pineapple){
    console.log("pineapple")
  }
  if(program.pen && program.apple){
    console.log("applepen")
  }
  if(program.pen && program.apple && program.pineapple){
    console.log("penpineapple applepen")
  }
}

main(program)

optionの使い方

パターン 説明
option('-p, --pen', 'i have a pen') bool true of false
option('-x, --pen <n>', 'Add number of pen') String 引数に<>を指定すると引数を一つ取ることを強制する。
option('-x, --pen <n>', 'Add number of pen', parseInt) Number 引数に<>を指定すると引数を一つ取ることを強制する。4番目の引数にパーサーを入れることで数値型として前処理させる
option('-x, --pen [n]', 'Add number of pen') String 引数に[]を指定すると引数として値を取れる。値はオプションで存在しなければtrueが入る
option('-x, --pen <items>', 'Add items', (items)=>items.split(',')) Array 複数の値を扱う場合はデリミタを使いそれをパースする関数をセットする
option('-p, --pen <n>', 'Add pen', '1') String デフォルト値のセット
option('-p, --pen <n>', 'Add pen', '1', parseInt) Number デフォルト値とパーサーのセット
3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5