Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8691

Node.jsでコマンドラインツールを作る時にオプション引数をいい感じに扱いたい

$
0
0

結論

command-line-argscommand-line-usageを使うといい感じになる

オプション引数の説明を表示する

src/index.js
constcommandLineUsage=require("command-line-usage");constusage=commandLineUsage([{header:"command line tool",content:"description"},{header:"Options",optionList:[{name:"str",description:"description of str"},{name:"multi",description:"ex: --multi foo --multi bar"},{name:"int",description:"default: 123"},{name:"bool",alias:"b",type:Boolean,description:"ex: -b"},],},]);console.log(usage);
出力
$ node src/index.js

command line tool

  description

Options

  --str string     description of str
  --multi string   ex: --multi foo --multi bar
  --int string     default: 123
  -b, --bool       ex: -b

オプション引数の値を取得する

src/index.js
constcommandLineArgs=require("command-line-args");constargs=commandLineArgs([{name:"str",type:String},{name:"multi",multiple:true,type:String},{name:"bool",alias:"b",type:Boolean},{name:"int",type:Number,defaultValue:123},{name:"def",defaultOption:true},]);console.log(args);
出力
$ node src/index.js --str hoge --multi foo --multi bar -b foobar

{
  int: 123,
  str: 'hoge',
  multi: ['foo', 'bar'],
  bool: true,
  def: 'foobar'}

Viewing all articles
Browse latest Browse all 8691

Trending Articles