问题标签 [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 回答
71 浏览

node.js - 使用 NodeJS 创建 CLI - 将变量传递给 exec linux 命令

我正在尝试使用 nodejs 和 command.js 包创建一个简单的 CLI。

CLI 的目的是触摸一个新文件

命令:make:controller NewController

Linux:触摸 NewController

我如何将名称变量传递给 exec() 命令。


PS(创建新文件后,我还想在其中写入一些内容)

0 投票
2 回答
4361 浏览

node.js - 如何将 Node.js 命令行应用程序转换为单个可执行文件?

commander.js我为 Node.js 平台构建了简单的命令行应用程序。现在我想把它编译成简单的exe文件,我可以直接执行。

意味着我想要一个完整的应用程序的可执行文件

这是我的应用程序结构

谢谢

0 投票
1 回答
4961 浏览

node.js - Node.js commander with optional+variadic arguments

I'm butting my head against a wall trying to get node's commander module to parse arguments the way I want.

I'm looking to upload a list of files to a named database. There is a default database name, so the user shouldn't need to include a database parameter.

I'd like this command to work as following:

How can I implement this with commander? I've tried a number of things already, currently I'm stuck with this code which doesn't work:

When I try to run ./upload.js, I get no output!

How can I use commander to accept a single optional parameter, and a non-empty list of strings??

EDIT: Thanks to Rob Raisch's answer I've solved my problem! The solution is to use usage instead of action, do all work after the program commands (instead of within an action function), work with program.db and program.args, and manually ensure that program.args is non-empty:

0 投票
0 回答
62 浏览

javascript - Heartbeats.js Commander.js 参数实例化超过预期

所以我尝试制作一个不和谐的机器人,用 discord-js.commando 和 command.js 作为参数解析器..

命令看起来像这样

所以例如,如果我调用

!notif 添加警报

它将使用调用该命令的用户的名称创建一个心脏,并在名称末尾创建一个带有随机数的事件( alarm_123 )

我第一次调用它会告诉用户“alarm_9 added” 第一次调用它,它工作得很好,但我第二次调用它,它会创建 2 个事件而不是 SUPPOSED 只有 1 个;

第二次会像这样输出

第三次会这样输出

因此,当我使用 !notif list 检查时,它会显示我有超出预期的事件,每次调用事件时都会递增

我已经在CREATEEVENT上方放置了某种保护子句,只是为了确定是否存在具有该名称的心脏

我的 command.js 解析器看起来像这样,似乎每次调用它时,它都会解析最后一个命令或我不知道的任何内容,但它会解析

这个问题的问题是,我是否应该为每个调用这些用户的用户创建一个子进程,以便他们自己拥有隔离空间?或者哪种方式最好?...请点亮我。我试图找到适合我目标的 npm 包,大多数包已被弃用或不完全适合,只有心跳似乎有效,我需要某种计时器/间隔管理器,可以被杀死,添加到列表中,也因为command.js 是为 CLI 设计的

0 投票
1 回答
945 浏览

node.js - 指挥官对带有描述的命令抛出错误

这是一个使用命令在 nodejs 中添加命令的简单示例:

在这种情况下,一切正常,但是当我添加描述和选项时,commander会引发错误:

program.command('cmd [opts...]', 'DESCRIPTION', {isDefault: true})

我的环境:

0 投票
2 回答
13976 浏览

node.js - 创建 nodejs cli 选择/选项菜单

如何创建箭头键菜单列表?

我正在寻找类似的东西进入eslint initcreate-react-app <project>?(见下图)

ESlint

eslint CLI 菜单

约曼

创建反应应用程序 cli 菜单

在四处寻找创建 CLI 的方法时,我发现 NodeJS 是一个选项,然后是一些工具:Commander.jsVorpal和/或create-new-cli

如果我在正确的轨道上,如何创建 CLI 箭头键选择菜单?

0 投票
2 回答
159 浏览

node.js - 在子命令之前执行全局选项

我试图在子命令之前执行一些全局参数,但子命令在 .

预期输出:

你好

内部子命令

世界

实际输出:

内部子命令

世界

你好

如何在控制流到子命令之前执行全局选项。全局选项不应在子命令中定义,代码应位于单个文件中。

0 投票
1 回答
1302 浏览

javascript - command.js 简单用例:一个文件参数

我看到大多数人commander在必须处理命令行解析时使用 npm 包。我也想使用它,因为它似乎具有相当高级的功能(例如命令、帮助、选项标志等)。

但是,对于我的程序的第一个版本,我不需要这些高级功能,我只需要指挥官解析参数,并找到提供的单个文件名(强制参数)。

我试过了:

但是,有了这个:

  • 如果我不传递任何参数,什么都不会打印,我是在action()正确使用函数还是我的 null 检查错误?理想情况下,它应该打印usage我在这种情况下传递的字符串,并以 exitCode!=0 结束?
  • 我如何检测用户是否发送了太多文件名(太多参数)并给她一个错误?
0 投票
2 回答
294 浏览

javascript - 检查指挥官中的参数是否为空?

使用command.js创建一个 CLI,我有这样的声明:

target无论是否向命令提供值,参数都会记录为值。我们如何检查target参数是否为空?这是在没有值传递给命令时为目标值记录的内容:

0 投票
1 回答
57 浏览

javascript - 不明白 Javascript 在这段代码中是如何工作的(在 Node.js 中使用 Coffeescript、Commander)

我在 Node.js 中使用 Commander 时遇到了一些问题:parseInt 在我的代码中无法正常工作:

当我使用选项 -n 10000 -m 10000 时,控制台会生成:

我还注意到这个代码与课堂作业:

为什么我的代码在“类”代码工作时不起作用?如何在不使用类的情况下使我的代码工作?谢谢~