节点cli参数解析器用于类似git的命令

时间:2016-04-17 07:49:18

标签: javascript node.js

我正在寻找一个简单的类似git的cli参数解析器:

$ app [global-options] command [command-options]

我尝试了commandergitlike-cli和其他几个cli解析器库 - 它们似乎都不支持从命令选项中分离全局选项。

commander似乎支持它。但是当我深入研究时,我发现了问题。例如,我想要一个-v全局选项,可以在全局范围内实现冗长。我所做的只是在global.verbose = true;中设置index.js,在特定命令index-subcmd.js中,当我阅读global.verbose时,它未设置!

我是否遗漏了一些明显的东西,或者我的理解是否正确,节点生态系统缺少具有此功能的lib?来自Java背景,我真的很想念airline

2 个答案:

答案 0 :(得分:0)

我编写了一个cli解析库来支持用例:wiz-cliparse

答案 1 :(得分:0)

我还想指出一个我对流行的CLI工具感到失望后写的库。我创建了wily-cli以与这些大名称工具竞争,提供更多自定义和CLI功能,并尝试更易于使用。 Subhash的wiz-cliparse应该能够帮助你的用例,但如果你需要创建一个更强大的CLI,我可能会建议你研究一下wily-cli。对于您的用例,那些“全局选项”基本上是您的初始命令的选项(从您的示例,即app)。创建选项时,您可以在选项配置中设置passThrough标志...

.option('example', 'Example option', { passThrough: true });

这会将选项设置为也传递给children / gandchildren / etc。命令