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

node.js - 如何使用command生成命令

我正在与指挥官一起开发一个 cli 工具。我有这个 app.ts 文件。

我希望当我运行时tsc && node app.js,我能够运行类似的命令zone-conf generate tx-commands。当我运行它时,输出是zsh: command not found: zone-conf.

这是我在nodejs中缺少指挥官的一步吗?

0 投票
1 回答
50 浏览

webpack - webpack 命令行选项的正确语法是什么?

我在文档中看到了两个...

https://webpack.js.org/configuration/mode/

版本 1

https://webpack.js.org/api/cli/

第 2 版

一个有等号,一个没有。如果两者都正确,哪个是首选?

0 投票
1 回答
28 浏览

javascript - 在 nodejs 中查找传递给 CLI 的文件/文件夹的类型

我正在创建一个 CLI 应用程序并使用指挥官来处理用户输入的命令。

并且用户可以进入node index.js --index "Silver Blaze".txt或传递一个文件夹node index.js --index "my folder"

如何找出传递的值的类型(如果是文件或文件夹)?

0 投票
1 回答
86 浏览

javascript - node-fetch 使用 command.js 忽略查询字符串

我使用通过 npm 发布的 command.js 创建了一个 CLI。CLI 使用 node-fetch 从 API 请求数据。但是,对于我的 CLI 的某些用户,node-fetch 忽略了我的 fetch URL 中的查询字符串。

我的假设是某些用户安装了较旧版本的 node-fetch,并且它使用的是该版本而不是 package.json 中我的依赖项列表中的显式版本。

如果这是原因,我如何确保我的 CLI 使用了正确版本的 node-fetch?

您能想到的还有其他原因会导致某些环境忽略查询字符串吗?

0 投票
1 回答
55 浏览

node.js - 使用 --help 标志时如何忽略必需的选项

在我的代码中,我有一个必需的选项:

当我指定--help-h使用子命令help时,我得到了这个error: required option '-r, --remote <url>' not specified。查看帮助页面的唯一方法是只使用不带任何标志或子命令的命令。例如

我怎样才能使它在指定--help标志或help子命令时,指挥官忽略requiredOption

0 投票
2 回答
44 浏览

javascript - 待办事项应用程序的 CLI - 帮助使用 Commander 调试当前解决方案或更改 Readline 和 Event Emitter 的方法?

我正在尝试使用节点 js 中的指挥官和 conf 模块为仅节点 js 的待办事项应用程序构建 CLI,并使用粉笔为输出着色。我不确定如何解决返回的错误:

ReferenceError: require is not defined in ES module scope, you can use import instead 此文件被视为 ES 模块,因为它有一个 '.js' 文件扩展名包含“type”:“module”。要将其视为 CommonJS 脚本,请将其重命名为使用“.cjs”文件扩展名。

我在conf和commander中都遇到了上述错误

任何关于我如何进行调试的建议,或者改变使用 readline 和 events/EventEmitter 的方法会更好,将不胜感激,谢谢

以下是已编辑的代码版本:

列表.js

index.js 文件

包.json 文件

0 投票
1 回答
15 浏览

javascript - 避免命令解析器在没有参数时抱怨,只显示 helpInfo

我正在从更旧版本的指挥官 (v2.20.3) 迁移一个包

我希望默认值(在完全没有参数的情况下调用 CLI 时)继续显示帮助并且不会出错,但目前它会出错:

.../npm-reflect/node_modules/.pnpm/commander@8.3.0/node_modules/commander/lib/command.js:142 const [, name, args] = nameAndArgs.match(/([^ ]+) ( . )/);

通过添加以下内容,我能够获得最想要的行为:

...但这似乎通过列出一个新的“帮助”命令来污染帮助中的内容。在不添加新命令的情况下,如何避免解析器在没有参数的情况下抱怨?

0 投票
1 回答
18 浏览

node.js - 如何使用“commander”CLI 标志在节点库中设置“winston”日志记录级别

鉴于此示例指挥官应用程序:

给定提供的指挥官选项,如何设置 winston 日志记录级别--debug

我可以使用 DEBUG env var,但这有点破坏了--debugCLI 中标志的用途。有什么建议吗?

0 投票
1 回答
14 浏览

javascript - 确保 Commander.js 中没有尾随参数

我想编写一个带有一个可选参数的 CLI 应用程序。

如果我使用 0 或 1 个参数运行它,它会按预期工作。但是,我看不到检查整个命令行是否被参数消耗的干净方法。如果有任何尾随命令行参数,我想出错。实现这一目标的最佳方法是什么?

0 投票
0 回答
43 浏览

javascript - 如何使用 nest-commander 创建和使用终端命令?

所以,我有这个 NestJS 项目,出于学习目的,我想创建一个可以在终端上执行的带有nest-commander的命令(这样我可以从其他服务调用函数),也用于学习目的,每当我调用它时命令,它应该调用从数据库中获取用户的服务文件上的函数。

它看起来像这样:

每当从终端调用该命令时,我都会调用getUser()fromAnotherService以查找具有该特定 UsernameString 的用户。我阅读了文档并无法理解它,所以......

  1. 如何从终端调用命令?
  2. 是否可以在应用程序中调用相同的命令?