我想编写一个带有一个可选参数的 CLI 应用程序。
import { Command } from 'commander';
const program = new Command();
program.argument('[a]');
program.action((a) => console.log(`a = ${a}`));
program.parse();
console.log(program.args);
如果我使用 0 或 1 个参数运行它,它会按预期工作。但是,我看不到检查整个命令行是否被参数消耗的干净方法。如果有任何尾随命令行参数,我想出错。实现这一目标的最佳方法是什么?
$ node no-trailing-args.js
a = undefined
[]
$ node no-trailing-args.js 1
a = 1
[ '1' ]
$ node no-trailing-args.js 1 2
a = 1
[ '1', '2' ]
$