问题标签 [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生成命令
我正在与指挥官一起开发一个 cli 工具。我有这个 app.ts 文件。
我希望当我运行时tsc && node app.js
,我能够运行类似的命令zone-conf generate tx-commands
。当我运行它时,输出是zsh: command not found: zone-conf
.
这是我在nodejs中缺少指挥官的一步吗?
webpack - webpack 命令行选项的正确语法是什么?
我在文档中看到了两个...
https://webpack.js.org/configuration/mode/
版本 1
和
https://webpack.js.org/api/cli/
第 2 版
一个有等号,一个没有。如果两者都正确,哪个是首选?
javascript - 在 nodejs 中查找传递给 CLI 的文件/文件夹的类型
我正在创建一个 CLI 应用程序并使用指挥官来处理用户输入的命令。
并且用户可以进入node index.js --index "Silver Blaze".txt
或传递一个文件夹node index.js --index "my folder"
如何找出传递的值的类型(如果是文件或文件夹)?
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?
您能想到的还有其他原因会导致某些环境忽略查询字符串吗?
node.js - 使用 --help 标志时如何忽略必需的选项
在我的代码中,我有一个必需的选项:
当我指定--help
或-h
使用子命令help
时,我得到了这个error: required option '-r, --remote <url>' not specified
。查看帮助页面的唯一方法是只使用不带任何标志或子命令的命令。例如
我怎样才能使它在指定--help
标志或help
子命令时,指挥官忽略requiredOption
?
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 文件
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(/([^ ]+) ( . )/);
通过添加以下内容,我能够获得最想要的行为:
...但这似乎通过列出一个新的“帮助”命令来污染帮助中的内容。在不添加新命令的情况下,如何避免解析器在没有参数的情况下抱怨?
node.js - 如何使用“commander”CLI 标志在节点库中设置“winston”日志记录级别
鉴于此示例指挥官应用程序:
给定提供的指挥官选项,如何设置 winston 日志记录级别--debug
?
我可以使用 DEBUG env var,但这有点破坏了--debug
CLI 中标志的用途。有什么建议吗?
javascript - 确保 Commander.js 中没有尾随参数
我想编写一个带有一个可选参数的 CLI 应用程序。
如果我使用 0 或 1 个参数运行它,它会按预期工作。但是,我看不到检查整个命令行是否被参数消耗的干净方法。如果有任何尾随命令行参数,我想出错。实现这一目标的最佳方法是什么?
javascript - 如何使用 nest-commander 创建和使用终端命令?
所以,我有这个 NestJS 项目,出于学习目的,我想创建一个可以在终端上执行的带有nest-commander的命令(这样我可以从其他服务调用函数),也用于学习目的,每当我调用它时命令,它应该调用从数据库中获取用户的服务文件上的函数。
它看起来像这样:
每当从终端调用该命令时,我都会调用getUser()
fromAnotherService
以查找具有该特定 UsernameString 的用户。我阅读了文档并无法理解它,所以......
- 如何从终端调用命令?
- 是否可以在应用程序中调用相同的命令?