我找不到正确配置位置参数的方法。我有这个代码:
#!/usr/bin/env node
const create = (argv) => {
console.log('create component with name:', argv.name)
}
const createBuilder = (yargs) => {
yargs.positional('name', {
desc: 'Name of the new component',
})
}
/* eslint-disable no-unused-expressions */
require('yargs')
.command({
command: 'create <name>',
desc: 'Create a new component',
builder: createBuilder,
handler: create,
})
.demandCommand(1, 'A command is required')
.help()
.argv
并且我想提供一条自定义错误消息,以防用户在创建命令后没有指定名称。
从文档中我不清楚如何做到这一点,在浏览 github 问题时,我遇到了这个评论(#928):
我建议改为使用 demandCommand 和 demandOption (每个都有文档)。
这些允许您分别配置位置参数和标志参数
我尝试了各种组合
.demandCommand(1, 'You need to provide name for the new component')
或者
.demandOption('name', 'You need to provide name for the new component')
但没有运气。有人知道怎么做这个吗?