当您创建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意识到没有什么可做的了,该过程将自然退出。