gpt4 book ai didi

node.js - 带有 command.js 的未命名参数

转载 作者:IT老高 更新时间:2023-10-28 23:10:52 28 4
gpt4 key购买 nike

我目前正在看commander.js因为我想使用 Node.js 实现一个 CLI。

使用命名参数很容易,正如“披萨”程序的示例所示:

program
.version('0.0.1')
.option('-p, --peppers', 'Add peppers')
.option('-P, --pineapple', 'Add pineapple')
.option('-b, --bbq', 'Add bbq sauce')
.option('-c, --cheese [type]', 'Add the specified type of cheese [marble]', 'marble')
.parse(process.argv);

现在,例如,我可以使用以下方式调用程序:

$ app -p -b

但是一个未命名的参数呢?如果我想调用它怎么办

$ app italian -p -b

?我认为这并不少见,因此为 cp 命令提供文件也不需要您使用命名参数。只是

$ cp source target

而不是:

$ cp -s source -t target

如何使用 command.js 实现这一点?

而且,我如何告诉 command.js 需要未命名的参数?例如,如果您查看 cp 命令,则需要 source 和 target。

最佳答案

使用当前版本的指挥官,可以使用位置参数。见 docs on argument syntax有关详细信息,但使用您的 cp 示例将类似于:

program
.version('0.0.1')
.arguments('<source> <target>')
.action(function(source, target) {
// do something with source and target
})
.parse(process.argv);

如果两个参数都不存在,这个程序会报错,并给出适当的警告信息。

关于node.js - 带有 command.js 的未命名参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14556042/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com