问题标签 [node-commander]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
2758 浏览

node.js - Commander.js - 实现前一个完成时执行的子命令

我正在使用Commander.js编写我自己的 CLI。我设法编写了单独工作的命令,但现在我需要实现子命令,但文档有点模糊和混乱,所以我无法弄清楚。

我想要的是connect连接到 MongoDB 实例的命令,当它完成后继续执行get命令。我怎样才能做到这一点?

这些是命令和package.json

./package.json

./commands/my-cli.js

./commands/my-cli-connect.js

./commands/my-cli-get.js

运行my-cli --help显示这些可用命令:

应该同时调用两者connect以及get何时connect完成连接的示例命令执行:

现在该get命令的action功能永远不会运行。

0 投票
3 回答
981 浏览

javascript - 脚本未打印到 console.log

我正在尝试按照此处的说明创建一个每 5 分钟打印一次的脚本。但它不起作用:当我使用node scripts.js alive它调用它时,它不会给出任何输出,只是在终端中打开一个新行。我究竟做错了什么?

我也试过了,结果一样:

0 投票
2 回答
2281 浏览

node.js - NodeJS Commander 结构化子命令

我是指挥官的新手,我正在尝试实现这样的命令树:

是否可以将这些命令拆分为多个文件,例如有点像这样:

中央档案:

构建命令文件:

配置命令文件:

我知道 Git-Style 子命令,但这些似乎需要可执行文件(我只有常规 JS 文件)

0 投票
1 回答
445 浏览

jestjs - Jest 无法测试指挥官帮助功能

由于jest我无法测试commander导致进程退出的模块功能。

例如,如果我传递了--help选项或无效参数-x(见下文)process.exit,或者process.stdout.write没有被调用,因为他们应该查看commander源代码。

奇怪的是,从其他测试的行为来看,process.argv在这一次之后并没有恢复。测试在打字稿中并通过ts-jest. 有任何想法吗?谢谢!

0 投票
1 回答
1036 浏览

node.js - NodeJS,Commander - 如何识别用户是否通过了不受支持的选项

我正在查看指挥官 npm 包提供的所有自定义,它真的很好,但我想知道是否有任何方法可以找到用户是否提供了不受支持的选项。

对于不受支持的命令,我们可以编写:(但不确定不受支持的选项)

0 投票
1 回答
1071 浏览

npm - 如何通过 npm 命令使用 command.js 命令

我正在使用这样./index.js --project mono --type item --title newInvoice --comments 'Creates an invoice' --write的commander.js命令,现在我通过在这样的文件npm run item newInvoice中设置一些选项来使用命令package.json

但是每当我尝试--write使用 npm 获得选项时,它npm run item newInvoice --write都会显示undefined--write

源代码:

谁能帮我如何在 npm 中使用指挥官 js 命令?

0 投票
1 回答
724 浏览

yargs - 将带空格的字符串传递给节点 cli-parser

https://runkit.com/embed/57837xcuv5v0

实际输出:

Object {_: ["executable", "b\""], param: "\"a"}

预期输出:

Object {_: ["executable"], param: "a b"}


yargs使用and时我也看到了相同的结果commander

这很奇怪,因为jest正在使用yargs并开玩笑接受以下命令:jest -t "test name with spaces"

0 投票
1 回答
652 浏览

javascript - ORA Spinner 使用 Inquirer.js 在 CLI 上停止

不知道该问题的标题是什么,但我会尽力在问题的其余部分中传达。

我正在开发一个 CLI,它首先提示用户几个问题,然后根据答案克隆一个存储库。

例子:

我正在使用Ora来显示微调器。

问题是微调器在启动之前就冻结了。我正在使用的其他包是 Inquirer、Shelljs、Chalk 和 Commander.js for CLI。

问题数组

克隆功能:

我试过Spinnies,但问题是一样的,它冻结了,一旦过程完成,它就会显示成功消息。我尝试了几种可能性,但不知道如何使用 Async 解决。

其他包: - Inquirer.js - Commander.js - Shelljs

任何帮助将不胜感激。

0 投票
0 回答
79 浏览

javascript - Commander 的命令不返回数据

我正在尝试构建一个节点 cli 以保持有组织的计划者。我有“定位”命令,该命令转到“查找”或“列表”命令的选项,但即使猫鼬功能正常工作,也没有显示任何数据。'todo locate list 12/31/1999' 不会返回任何数据,即使我的数据库中的日期大于那个日期。有人帮我调试这个项目。GitHub 存储库是 github.com/tripiod8/todo_cli

0 投票
2 回答
708 浏览

javascript - `program.parse(process.argv)` 在 command.js 中做了什么?

我想用户commander.jsinquirer.js提出问题并收集答案以创建一个User实例:

当我使用 运行它时node index.js add,问题数组会提出一个问题并退出:

但是,当我 deleteprogram.parse(process.argv)时,一切正常,它可以将新User实例返回给我。

我检查了文件:https ://github.com/tj/commander.js/ 仍然不知道发生了什么。有人知道更多吗?

我刚才发现的是,如果我program.parse(process.argv)在实例的第一次设置中这样开头program

它也有效。但我仍然不知道为什么顺序很重要。