问题标签 [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.
node.js - command.js:如何指定所需的 cli 参数
我正在使用 command.js 包来解析命令行参数:我想让一个标志非可选,git repo中的 API 和测试松散地提到了需要一个标志,但我通常需要被击中头部有指示。
是否真的有可能,如果不满足要求,脚本会抛出吗?
javascript - Node js指挥官args返回true而不是值
我想用节点和节点指挥官创建一个脚本,当我尝试获取我的 args 的值时,我得到的值是 true 而不是值本身。
例如,如果我在终端中写这个:
我如何获得这个 args 的价值?
javascript - 带有 git 样式子命令的 npm 链接
我在使用使用npm link
command 构建的 nodejs cli 工具时遇到问题。
使用指挥官制作一个 git 风格的子命令风格的 cli 工具我有这些文件:
foo.js
foo-config.js
还有 foo.js(主文件长这样)
我的 package.json 有这个配置
当我npm link
成功运行它时,它会生成符号链接。我什至可以运行命令并看到config
cmd 出现在帮助菜单中。
但是,当我尝试运行时,$ foo config
我收到以下消息
现在我该怎么做?
javascript - Commander.js 收集多个选项总是包含默认
我正在使用commander.js来解析命令行参数,我正在尝试收集一个可以出现多次的可选参数,它总是返回我设置的选项加上默认选项。
当我这样调用脚本时:
它打印:
但它应该只打印:
当我在没有-c
参数的情况下调用它时,它可以正常工作,使用默认值打印数组。我怎样才能解决这个问题?
node.js - Node.js 的命令行界面
我正在使用 node.js 创建命令行界面。它具有登录功能,登录后,需要根据列表中的用户选择显示输出。我面临的问题是它在第一个结果后从节点退出。它再次要求登录。它不应该退出,如果从应用程序退出也很好,但我仍然应该能够获取登录的用户详细信息。Show user profile
举例来说,当我从列表中选择时,它会显示用户详细信息。现在,我退出应用程序(而不是从 cli 控制台)。我必须再次登录才能看到其他结果。取而代之的是,我们可以为登录的用户维护任何会话类型的东西,以便我们可以允许用户一次又一次地进入系统而无需登录。或者建议我任何其他解决方案来做到这一点。 !
对不起,我的英语不好。希望你能理解我的问题。(附上一张图片)
node.js - 强制要求检查模块的当前目录
我正在使用 Node.js 创建一个命令行应用程序。如何require
检查模块的当前目录?
比如我想在测试目录下运行命令:
并获取该node_modules/
目录中的模块,而不是使用全局版本。
javascript - 如何调用我自己的不同 Node.js 脚本?
我正在构建一个应用程序,它使用 Node.js 将多个 CLI 应用程序捆绑在一起以供内部使用。我正在使用几个 NPM 依赖项,其中一些有自己的 CLI 命令二进制文件。
为了用户友好,我在自己的应用程序中使用了Commander
git 风格的子命令。.js
该模块要求每个充当二进制文件的子命令都有一个单独的文件。
这类似于我到目前为止所拥有的,以及我想要完成的事情:
所以基本上我试图在我自己的内部包装另一个二进制文件。此方法有效,但感觉有点 hack-ish,它会打开 2 个Node.exe
.
node.js - 只有在 Commander.js 中完成设置后才允许运行命令
在允许运行任何其他操作之前,是否可以在 command.js 中检查setup
命令是否已运行并完成。
如果尝试运行命令,它将显示一条消息以运行第$ command auth
一个
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
某种方式包装是一个更好的选择吗?
谢谢!