选项参数
以短横线开头参数叫做选项参数, 如下:
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,
}