当您创建Vorpal应用程序时,至少从我在文档中所见,它创建了自己的 shell 程序。首先,输入该 shell 程序,然后开始执行命令。像这样:

user@computer: quotr
quotr$
quotr$ snapshot
You triggered `snapshot`.
quotr$

在上面的示例中,snapshot命令在Vorpal shell 内部执行。它的输出不会直接发送到终端。

我正在寻找的是这样的:
user@computer: quotr snapshot
You triggered `snapshot`.
user@computer:

如何使用Vorpal做到这一点?

最佳答案

是的,您可以使用vorpal.parse方法执行此操作,该方法将解析传递给Vorpal的参数并执行它们。

var vorpal = require('vorpal')();

vorpal
  .command('snapshot')
  .action(function (args, cb) {
    this.log('You triggered `snapshot`.');
    cb();
  });

vorpal.parse(process.argv);

您只需省略vorpal.show()即可在完成命令后退出应用程序。因为没有提示,所以Node意识到没有什么可做的了,该过程将自然退出。

08-08 05:35