Node 命令参数规范

55 阅读1分钟

选项参数

以短横线开头参数叫做选项参数, 如下:

node ./index.js -x --y
  • 短选项(-node ./index.js -x
  • 长选项 (--) node ./index.js --y
  • 给选项参数设置值以空格或者等号分割, 比如:
node ./index.js -x 1
node ./index.js -x=1

node ./index.js --x 1
node ./index.js --x=1

// 一般命令工具会把参数搜集到对象里面
{ x: 1 }
  • 选项参数的默认值 true
node ./index.js -x
node ./index.js --x

{ x: true}
  • 短选项和长选项的区别(短选项布尔值会合并)
node ./index.js -xyz
// 解析
{
  x: true,
  y: true,
  z: true
}

node ./index.js --xyz
{
  xyz: true
}

参数(位置参数)

不以下划线开头的参数叫做位置参数, 比如下面:

node ./index.js aaa bbb ccc

// 解析
["aaa","bbb","ccc"]

位置参数位置不固定, 可以和选项参数混用, 比如:

node ./index.js aaa -x 1 bbb -y

// 解析
{
  _:["aaa", "bbb"],
  x: 1,
  y: true
}

选项参数变位置参数 --之后的选所有选项参数都变成位置参数, 比如:

node ./index.js aaa -x -- bbb -y 

// 解析
{
  _:["aaa", "bbb", "-y"],
  x: true,
}