问题标签 [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 投票
2 回答
9263 浏览

node.js - command.js:如何指定所需的 cli 参数

我正在使用 command.js 包来解析命令行参数:我想让一个标志非可选,git repo中的 API 和测试松散地提到了需要一个标志,但我通常需要被击中头部有指示。

是否真的有可能,如果不满足要求,脚本会抛出吗?

0 投票
3 回答
3381 浏览

javascript - Node js指挥官args返回true而不是值

我想用节点和节点指挥官创建一个脚本,当我尝试获取我的 args 的值时,我得到的值是 true 而不是值本身。

例如,如果我在终端中写这个:

我如何获得这个 args 的价值?

0 投票
2 回答
885 浏览

javascript - 带有 git 样式子命令的 npm 链接

我在使用使用npm linkcommand 构建的 nodejs cli 工具时遇到问题。

使用指挥官制作一个 git 风格的子命令风格的 cli 工具我有这些文件:

foo.js

foo-config.js

还有 foo.js(主文件长这样)

我的 package.json 有这个配置

当我npm link成功运行它时,它会生成符号链接。我什至可以运行命令并看到configcmd 出现在帮助菜单中。

但是,当我尝试运行时,$ foo config我收到以下消息

现在我该怎么做?

0 投票
1 回答
6169 浏览

javascript - Commander.js 收集多个选项总是包含默认

我正在使用commander.js来解析命令行参数,我正在尝试收集一个可以出现多次的可选参数,它总是返回我设置的选项加上默认选项。

当我这样调用脚本时:

它打印:

但它应该只打印:

当我在没有-c参数的情况下调用它时,它可以正常工作,使用默认值打印数组。我怎样才能解决这个问题?

0 投票
1 回答
848 浏览

node.js - Node.js 的命令行界面

我正在使用 node.js 创建命令行界面。它具有登录功能,登录后,需要根据列表中的用户选择显示输出。我面临的问题是它在第一个结果后从节点退出。它再次要求登录。它不应该退出,如果从应用程序退出也很好,但我仍然应该能够获取登录的用户详细信息。Show user profile举例来说,当我从列表中选择时,它会显示用户详细信息。现在,我退出应用程序(而不是从 cli 控制台)。我必须再次登录才能看到其他结果。取而代之的是,我们可以为登录的用户维护任何会话类型的东西,以便我们可以允许用户一次又一次地进入系统而无需登录。或者建议我任何其他解决方案来做到这一点。 在此处输入图像描述在此处输入图像描述

对不起,我的英语不好。希望你能理解我的问题。(附上一张图片)

我使用查询器进行用户输入,使用指挥官寻求帮助和请求HTTP 操作。如果需要,我可以分享我的代码。

0 投票
1 回答
80 浏览

node.js - 强制要求检查模块的当前目录

我正在使用 Node.js 创建一个命令行应用程序。如何require检查模块的当前目录?

比如我想在测试目录下运行命令:

并获取该node_modules/目录中的模块,而不是使用全局版本。

0 投票
1 回答
32 浏览

javascript - 如何调用我自己的不同 Node.js 脚本?

我正在构建一个应用程序,它使用 Node.js 将多个 CLI 应用程序捆绑在一起以供内部使用。我正在使用几个 NPM 依赖项,其中一些有自己的 CLI 命令二进制文件。

为了用户友好,我在自己的应用程序中使用了Commandergit 风格的子命令.js该模块要求每个充当二进制文件的子命令都有一个单独的文件。

这类似于我到目前为止所拥有的,以及我想要完成的事情:

所以基本上我试图在我自己的内部包装另一个二进制文件。此方法有效,但感觉有点 hack-ish,它会打开 2 个Node.exe.

0 投票
1 回答
264 浏览

node.js - 如何访问单独文件中的命令选项?

我正在使用指挥官index.js在项目文件中为我的全局节点模块指定一些命令和选项(如示例中所示)。

我知道我可以使用以下代码轻松检查是否使用了命令:

但是如何检查其他文件中的这些属性?我已经尝试program在其他文件中导出并要求它,但它似乎不起作用。

假设我想检查一个选项是否在与我定义它们的文件不同的文件中使用。我该怎么做?

0 投票
1 回答
146 浏览

node.js - 只有在 Commander.js 中完成设置后才允许运行命令

在允许运行任何其他操作之前,是否可以在 command.js 中检查setup命令是否已运行并完成。

如果尝试运行命令,它将显示一条消息以运行第$ command auth一个

0 投票
2 回答
1079 浏览

node.js - 通过使用`co`包装回调来使回调异步的正确方法?

现在是 2016 年,Node 从 v4 开始就几乎完全支持 ES6,Promises 从 0.12 开始就已经存在。是时候将回调抛诸脑后了。

我正在开发一个基于commander.js的CLI 工具,它利用了很多异步操作——http 请求和用户输入。我想将 Commander 包装action在异步函数中,以便它们可以被视为承诺,并且还支持生成器(对于co-prompt我用于用户输入的库很有用)。

我尝试co以两种方式包装 CB:

1) program.command('myCmd') .action(program => co(function* (program) {...}) .catch(err => console.log(err.stack)) );

2)program.command('myCmd').action(co.wrap(function* (program) { .. }));

1)的问题是program参数没有传递

2)的问题是错误被吞没了......

我真的很想让它工作,因为它在我的用例中产生了更好的代码 - 涉及大量 http 请求并且还等待用户使用co-prompt库输入..

也许以program.Command.prototype.action某种方式包装是一个更好的选择吗?

谢谢!