是否有可能创建一个Vorpal应用程序,命令的输出直接到终端,而不是它自己的shell?

时间:2015-11-02 23:58:33

标签: javascript node.js vorpal.js

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

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

在上面的示例中,snapshot命令正在执行"内部" Vorpal贝壳。它的输出不会直接进入终端。

我正在寻找的是这样的:

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

我如何通过Vorpal实现这一目标?

1 个答案:

答案 0 :(得分:12)

是的,您可以使用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意识到没有什么可做的,并且该过程将自然退出。