问题标签 [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.

0 投票
1 回答
2062 浏览

node.js - 记录旗帜的 Yargs

我试图弄清楚如何记录和别名一个不带值的参数yargs

我想要做的是别名-c--compile能够记录--compile. 如果--compile

script sources -c

我期待它是这样的

但是调用script sources -c会报错

0 投票
1 回答
3371 浏览

node.js - 使用 yargs 设置命令行完成

我正在使用节点 JS 创建一个脚本,并希望使用yargs启用异步命令行完成。

yargs 文档的完成部分说:“将生成的脚本连接到您的 .bashrc 或 .bash_profile”

但我没有看到有关如何生成脚本的任何信息。

0 投票
7 回答
7121 浏览

javascript - 根据参数不同来源的 Gulp 任务

我想用 gulp 完成一些简单的事情。我想编写一个通用方法将文件从特定源目录移动到输出目录。

假装我们有这样的东西

除了输出目录之外,这两个任务:transform-move-jsx-Production 和 transform-move-jsx-Development 是相同的。我想让它更干燥(不要重复自己)。我应该能够制作一个可以使用 yarg 参数或其他东西的方法吗?在下一个示例中,我假装可以将路径作为 arg 传递

所以我尝试使用 yargs 进行类似的操作

但是,这现在需要我在命令行中为 gulp 调用添加参数

当我们从 dev gulp 任务内部调用越来越多的 gulp 任务时,这显然不太可维护。无论如何都会很混乱,因为我们不需要知道运行时的输出目录结构之类的实现细节gulp dev

我可以做这样的事情:

这似乎更好,因为它更灵活,但是现在我的 gulpfile 充满了几个不必要的功能。

有没有更好的办法 ?

0 投票
1 回答
375 浏览

node.js - 在 *one* gulp 任务中使用 yargs 将其应用在 *all* 任务中:为什么?怎么修?

我有一个 UI 项目,具有基于generator-gulp-angular的自动化工作流程。我添加了gulp-ng-config,以便根据环境变量执行不同的构建。我使用包 'yargs' 来提取环境标志,并使其可用于该任务。但是即使任务应该被封装,我使用 yargs 来创建它的需求现在在我的整个项目中的所有 gulp 任务中都是活跃的。

这是 gulp 任务ngconfig

它作为 的一部分被调用build,这里:

当我们想使用我们的环境变量执行构建时,我们执行

而且,一切正常!但它蔓延到我的其他任务中。例如,当我启动本地 API 模拟服务器时,使用:

它抱怨我没有包含必要的参数:

但我的意图是那些必要的参数仅在ngconfig任务中需要。(ngconfig绝对不是 . 的依赖项stubby。)那么,为什么会溢出到其他任务中,我该如何解决呢?

0 投票
2 回答
604 浏览

arrays - 如何在 gulp 中使用 yargs 数组语法?

将 yargs 的数组语法与 gulp 一起使用会引发错误。这是我的代码:

并像这样使用它:

如何在 gulp 中使用 yargs 设置数组?

0 投票
2 回答
7652 浏览

javascript - 将参数传递给打包的电子应用程序

我们正在使用electron-packager来捆绑和分发我们 Web 应用程序的前端。我们需要能够将服务器的host和传递port到电子前端进行连接。当我们通过electron main.js --host blah --port 8080它启动时。一旦它被打包,我们运行通过./MyApp --host blah --port 8080,它不起作用。这很糟糕,因为我们不希望客户需要自己安装 electron/npm。另外值得注意的是,无论我们是否将应用程序打包到asar存档中,都会发生这种情况。

关于我们可以尝试的事情的任何想法,或者我们是否试图以错误的方式解决这个问题?

0 投票
2 回答
2029 浏览

javascript - 如何在 yargs 中指定默认子命令?

yargs用来创建一个带有“build”、“link”、“clean”等子命令的构建工具。

我希望能够./build.js不带参数输入并默认调用“build”子命令处理程序。

我能够做到这一点:

但这对我来说似乎有点 hacky,如果我想在“build”子命令中添加任何额外的位置参数,它可能会导致问题。

有没有办法在 yargs 的语义中实现这一点?上的文档.command()可能更清楚。

0 投票
1 回答
6199 浏览

node.js - yargs .check() 错误处理

我正在使用yargs来验证数据加载帮助程序库的 cli 参数。

我希望能够在允许脚本运行之前检查文件是否存在,我使用fs.accessSync(filename, fs.R_OK);. 但是,如果该文件不存在,则消息仅将 .check() 函数显示为错误,而我想拦截并声明该文件不存在(具有读取权限)。

那么如何在错误返回时发送由 .check() 呈现的错误?

这是我的 yargs 的要点:

如果不是可读文件,则返回错误:

我希望能够指定以下内容: Argument check failed: filepath is not a readable file

0 投票
1 回答
358 浏览

yargs - yargs .command 错误:选项的第二个参数必须是对象

假设我有一个文件“test.js”:

然后我运行:

我收到了这个错误:

option 的第二个参数必须是一个对象

如果我删除 .command 的第三个参数:

一切都很好。

我必须犯一个愚蠢的错误。但我就是想不通。

谢谢

0 投票
1 回答
637 浏览

angularjs - gradle 不通过扩展使用选项将 args 传递给 gulp

使用以下Gradle gulp 插件,它通过简单的命名约定简单地执行gulp taskfrom agradle taskgulp_<task name>

在文档的扩展选项中:Gradle gulp plugin extended docs它演示了以下内容:

在我的 gradle 执行的标准构建任务中,如下所示:

以下是执行和构建的,但是 args 被忽略,gulp 永远不会选择它们。args 应该由Yargs 命令行解析器处理

如果我直接使用 gulp 运行(如下所示),那么这工作正常,那么为什么从 gradle 运行时我的 args 会被忽略?

注意- 如果您想知道工具的选择,应用程序布局是 Springboot / AngularJS (^1.5)。