Commander.js 尝试将字符串传递给必填字段时抛出错误
Commander.js throwing error when trying to pass a string to a required field
我只是想将值作为必填字段作为字符串传递
import commander from 'commander';
const split = (str: string) => {
return str.split(',')
};
export const cli = () => {
commander
.version('0.0.1')
.option('-q --query <value>', `Add query example: -q #javascript`, '#javascript')
.option('-s --min [n]', `Add min amount of time to wait before each action example: -s 2500`, 2500)
.option('-l --max [n]', `Add max amount of time to wait before each action example: -l 240000`, 240000)
.option('-d --duration [n]', `Duration in hours example: -d 24`, 1)
.option('-a --actions <list>', `Actions to use example: -a like, follow`, split, [])
.parse(process.argv)
.on('error', () => {
commander.outputHelp();
process.exit();
});
return commander;
}
我是 运行
$ ts-node ./index.ts -q #java -s 2403 -l 240001 -d 2 -a follow,like
/*
starting tweety bot
error: option `-q --query <value>' argument missing
*/
我正在提供价值但仍然抛出。如果我更改为非必填字段,它只是 returns 默认值而不是传递。
原来你需要添加我在数组不能使用引号后省略的引号。
ts-node ./index.ts -q '#java' -s 2403 -l 240001 -d 2 -a follow,like
我只是想将值作为必填字段作为字符串传递
import commander from 'commander';
const split = (str: string) => {
return str.split(',')
};
export const cli = () => {
commander
.version('0.0.1')
.option('-q --query <value>', `Add query example: -q #javascript`, '#javascript')
.option('-s --min [n]', `Add min amount of time to wait before each action example: -s 2500`, 2500)
.option('-l --max [n]', `Add max amount of time to wait before each action example: -l 240000`, 240000)
.option('-d --duration [n]', `Duration in hours example: -d 24`, 1)
.option('-a --actions <list>', `Actions to use example: -a like, follow`, split, [])
.parse(process.argv)
.on('error', () => {
commander.outputHelp();
process.exit();
});
return commander;
}
我是 运行
$ ts-node ./index.ts -q #java -s 2403 -l 240001 -d 2 -a follow,like
/*
starting tweety bot
error: option `-q --query <value>' argument missing
*/
我正在提供价值但仍然抛出。如果我更改为非必填字段,它只是 returns 默认值而不是传递。
原来你需要添加我在数组不能使用引号后省略的引号。
ts-node ./index.ts -q '#java' -s 2403 -l 240001 -d 2 -a follow,like