Yargs:在命令处理程序中调用现有命令

Mar*_*iot 7 node.js yargs

我正在尝试restart使用yargs 实现命令.我已经实现了startstop命令以及我现在要做的所有事情,就是在restart命令中调用这些现有的命令.

不幸的是,它不能简单地使用 yargs.parse('stop');

yargs.command('start', '', () => {}, (argv) => {
    console.log('Starting');
});

yargs.command('stop', '', () => {}, (argv) => {
    console.log('Stopping');
});

yargs.command('restart', 'description', () => {}, (argv) => {
    yargs.parse('stop');
    yargs.parse('start');
});
Run Code Online (Sandbox Code Playgroud)

我也找不到与Github问题或API文档相关的任何内容.我错过了什么?

谢谢!

jus*_*tin 2

你可以简单地使用JS:

function start(argv) {
  console.log('Starting');
}
function stop(argv) {
  console.log('Stopping');
}

yargs.command('start', '', () => {}, start);

yargs.command('stop', '', () => {}, stop);

yargs.command('restart', 'description', () => {}, (argv) => {
   start(argv);
   stop(argv);
});
Run Code Online (Sandbox Code Playgroud)

从 API 的简要观察来看yargs,我没有看到其他方法可以做到这一点。