问题标签 [yargs]
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.
javascript - Yargs 中的命令函数
我只是想了解 yargs 模块中使用的命令函数以及传递给它的对象的属性。关于内部使用的处理函数。argv 是否代表传递给命令函数的对象的构建器属性?
javascript - 使用 yargs(npm 包),如果找不到命令,如何给出错误?
我有 2 个命令的 yargs?
用户输入:
但yargs
不要抛出错误。我应该怎么办?
typescript - 如何制作取决于先前值的打字稿定义?
例如,请参阅此代码:
在第 3 行中,如何让 IDE 了解第 2 行中的值,并为使用该库的最终用户定义的字符串提供自动完成功能?
我希望在我输入后a.
我会看到“我的自定义值”作为 VSCode 的自动完成选项。
我看到它yargs
是这样工作的。如果我定义了一个选项或一个位置参数,IDE 稍后会为我提供我选择的内容。
node.js - yargs 正在抛出 ExperimentalWarning
我正在编写一个 node.js CLI 程序,出于某种原因,当我只包含yargs
类似
我收到警告:
我不知道为什么,每次我测试我的应用程序时看到它都很烦人。知道为什么会出现此警告以及如何摆脱它吗?
yargs - 我在哪里可以找到 yargs npm 中的 builder 文档?
有人非常了解 npm yargs 吗?我正在将此包用于命令行参数的事情。但我找不到“builder”的解释。我在哪里可以得到这个?
node.js - 在这个 bash 脚本中,“-”是什么意思?又怎么能知道它的意思呢?
这是脚本:
我已经阅读了命令行参数中“-”(破折号)的魔力是什么?. 而且我认为它可以表示标准输入......如果 bash 程序的作者将其定义为这样。
但是,在这里(链接到 ganache-core.docker.cli.js github 文件),我找不到 ganache-core.docker.cli.js 的作者如何或在何处将破折号(“-”)定义为标准输入. 有人也可以指出这一点吗?
编辑:我正在寻找确认破折号确实意味着 cli args 的标准输入,但更希望了解,当根据上面的链接问题时,为什么它们应该被明确地解释为 stnin 它只是一个约定。
Edit2:我怀疑 CLI arg 解析库是yArgs
javascript - 在使用 Yargs 执行代码之前要求用户确认
使用 yargs 可以让 CLI 的用户指定他们想要使用参数调用哪个命令,然后 CLI 在运行代码之前回复以下消息:
您确定要使用以下设置在环境 X 上执行此代码: .... Y / N:
Y 会执行代码 N 什么也不做
更新: 刚刚发现了一个名为 yargs-interactive 的 npm 模块。我想这就是我的问题的答案。
javascript - 基于 Node.js CLI 参数设置全局变量
我在 node.js 中创建了一个 CLI。对于每个命令,用户传入命令行参数,例如环境和租户。我想设置应用程序中任何其他文件都可以访问的变量。
我正在使用 yargs,所以我的每个 CLI 命令都接受参数并调用一个函数。在调用该函数之前,我想设置一些其余 js 文件将使用的全局变量。
我意识到我可以为此使用环境变量,因为您也可以在代码中设置它们。
javascript - 使用 yargs api 的动态和类型安全的函数参数
我想和你分享一个编码挑战,希望有人也被这个挑战所吸引,并且可以提供帮助,因为它需要一些“高级”的 Typescript 技能:) 首先是一些基本的 Javascript,以明确我想要做什么:
挑战是实现该createTask
功能,以便...
- 您可以通过函数的
callback
参数提供任务的实际实现createTask
- 所有自定义参数都应该可以使用yargs包中的 awesome api 进行配置
- 如果您使用错误的参数执行任务,打字稿编译器会警告您
修订版 1 - 没有类型检查
现在让我们忽略类型检查问题。
所以在普通的javascript中应该是这样的:
修订版 2 - 基本类型检查
现在让我们用打字稿写这个:
现在要按预期进行这项工作,我想我需要使用一些更复杂的打字稿魔法。
修订版 3 - 几乎完美,但具有冗余类型信息
我想我已经很接近了,因为当我明确地为customTask
变量提供类型时它可以工作:
我只是不满意必须foo
在 2 个地方编写类型:变量声明中let customTask: CustomTask<{**foo:boolean**}, void>
的第一个和 yargs api 调用中的第二个.option( 'foo', { **type: 'boolean'** } )
我相信有一些高级打字稿功能允许编译器customTask
从 yargs 的 api 调用中自动推断类型。我希望有人能帮帮忙 :)
谢谢!
node.js - 我得到 yargs.methodName is not a function with all yargs methods using ES6 imports in NodeJS without Babel
所以,我正在做一个 nodejs 教程,但是该教程没有更新到 ES6,我只是想在进行过程中更新代码。我使用 require('yargs') 让程序运行得很好,但不断得到 yargs.command、yargs.argv 等不是函数。据我了解,nodejs 现在支持导入/导出语句,yargs 也是如此。我已将我的应用程序设置为“类型:模块”并保存为 .mjs 文件。下面列出的是带有终端输出的工作与非工作(ES6)。如果有人能发现我的错误,请告诉我...
工作代码...
终端...
ES6
终端....