为什么此 yargs 脚本帮助页面中缺少命令?
Why are commands missing from this yargs script help page?
有人可以解释为什么下面的脚本没有显示所有命令的帮助吗?
test.js [command]
Commands:
test.js list-spaces List spaces
Options:
--help Show help [boolean]
--version Show version number [boolean]
请注意 list-commands
的帮助由于某种原因丢失。
#!/usr/bin/env node
'use strict'
const yargs = require("yargs");
yargs.command({
command: 'list-spaces',
describe: 'List spaces',
type: 'boolean',
handler: function(argv) {
console.log('aaa');
}
}).argv;
yargs.command({
command: 'list-connectors',
describe: 'List connectors',
builder: {
space: {
describe: 'space',
demandOption: true,
type: 'string'
},
},
handler: function(argv) {
console.log(argv.space);
}
}).argv;
访问 .argv
是触发解析(process.args
)和输出生成的原因。来自 the docs:
Calling .parse()
with no arguments is equivalent to calling .argv
[…]
The rest of these methods below come in just before the terminating .argv
or terminating .parse()
.
您出于某种原因正在访问 .argv
两次。第一次,第二个命令还没有注册。第二个语句甚至不再 运行。
有人可以解释为什么下面的脚本没有显示所有命令的帮助吗?
test.js [command]
Commands:
test.js list-spaces List spaces
Options:
--help Show help [boolean]
--version Show version number [boolean]
请注意 list-commands
的帮助由于某种原因丢失。
#!/usr/bin/env node
'use strict'
const yargs = require("yargs");
yargs.command({
command: 'list-spaces',
describe: 'List spaces',
type: 'boolean',
handler: function(argv) {
console.log('aaa');
}
}).argv;
yargs.command({
command: 'list-connectors',
describe: 'List connectors',
builder: {
space: {
describe: 'space',
demandOption: true,
type: 'string'
},
},
handler: function(argv) {
console.log(argv.space);
}
}).argv;
访问 .argv
是触发解析(process.args
)和输出生成的原因。来自 the docs:
Calling
.parse()
with no arguments is equivalent to calling.argv
[…]
The rest of these methods below come in just before the terminating
.argv
or terminating.parse()
.
您出于某种原因正在访问 .argv
两次。第一次,第二个命令还没有注册。第二个语句甚至不再 运行。