问题标签 [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.
yargs - 使用 Yargs 传递带空格的字符串
我正在使用 yargs 来收集传递的任何参数。我的场景是能够传递带有双引号的空格的字符串,如下所示:
但它实际上将剩余的字符串"my
作为参数值yargs.argv.n
并放入_
. 我知道当我们使用转义字符时它会起作用,"
但我不能假设这对我的用户来说是显而易见的。
谁能帮我看看是否有任何配置或任何黑客可以用来收集整个字符串?
yargs - yargs 是否有一个我可以在每个命令之前运行的钩子?
我需要在每个命令运行之前运行一些代码,使用命令的名称。我在 yargs api 文档中找不到任何内容。
具体来说,我想删除我的每个命令创建的缓存。例如命令foo
,在 中创建一个缓存./.tmp/foo
。我只想在每次运行之前删除该缓存。我可以从每个命令回调中删除它,但很好奇是否有更编程的方式来做到这一点。
yargs 是否有任何我可以用来完成此任务的功能?
node.js - 将参数传递给 Node.js 程序
我正在尝试为我正在创建的 Node.js 程序传递 2 个强制参数。
我习惯Yargs
这样做:
这工作正常,有一个小问题。我想像这样激活脚本:
节点 index.js -m val -m2 val2
它不起作用,我收到一条错误消息,提示缺少 m2。只有当我-
在 m2 之前添加另一个它才有效,这意味着我必须这样做:
节点 index.js -m val1 --m2 val2
有没有办法让它像我一开始想要的那样接受参数?
node.js - yargs 需要 builder 选项之一
如何从命令中的构建器对象中要求我的选项之一
在这里,我希望用户通过命令id
或first
选项read
此外,当使用无效选项运行此命令时,它不会显示错误
yargs: ^12.0.5
node.js - Proxyquire : 代理需要 yargs 并将值传递给它
我有一个如下 src/example.js 的代码:
上面的单元测试用例,我正在尝试编写:
当我运行上面我得到以下错误:
我在这里做错了什么?
编辑:很明显,如果我写我的 src/example.js 如下:
并编写测试用例如下:
有用!去搞清楚!这可能是因为我在 yargs 中设置了默认值。但是如果不进行上述更改,我不知道如何使其正常工作!
javascript - 如何单元测试使用 yargs 的应用程序在多种语言环境/语言中提供正确的响应?
我正在开发一个命令行应用程序,该应用程序使用 yargs 处理传递给该应用程序的选项并以多种语言运行。
使用非英语语言环境时测试失败,因为测试的预期结果是用该语言硬编码的。
例如,以下代码以英语返回通过的测试,但是如果语言设置为法语,则将失败,因为 Yargs 以法语返回错误。
这让我想到了我的问题。处理这种情况的最佳做法是什么?我一直在研究 Yargs 甚至是它用于翻译的 y18n 包,但并没有看到解决这个问题的直接方法。
我想一个可能的解决方案是让测试期望的字符串可能通过 y18n 库进行翻译,或者可能对每种支持的语言进行测试,但这可能有点矫枉过正。
在这种情况下你做了什么?我愿意知道!
谢谢!
javascript - 命令未使用 yarg npm 包添加
我正在尝试使用 yarg 添加命令,但是当我运行我的代码时,我的命令没有添加。
这是我正在尝试的:
运行命令:
没有添加命令。
此外,当我尝试通过将 add 作为参数(即 node app.js add)来运行我的代码时,什么也没有显示。
我现在该怎么办?
node.js - 终端不显示 yargs 的处理程序值
我正在学习 node.js,我遇到了第一个问题。安装 yargs 并尝试创建 yargs 命令后,它没有显示在终端中。当我输入node app.js mycommand
终端时,它只返回参数数组,而不是我的命令,但如果我输入“node app.js --help”,它会返回每个命令。难道我做错了什么?
我想让我的 console.log 在我输入时显示“一些文本”,'node app.js mycommand'
但实际上我只有 args 数组:
{ _: [ 'mycommand' ], '$0': 'app.js' }
node.js - yargs 警告:提供的参数过多。预计最多 1 个,但收到 2 个
我的 yargs 配置有问题:
我执行的脚本如下:
我收到了这个错误:
你知道为什么吗 ?谢谢您的帮助。
node.js - 如何修复“语法错误:应为“#”、“\n”、“\r”或[\t],但找到“[”。” yargs 模块检索哪个?
我目前正在使用 bitbucket 管道进行持续部署。我已将“npm test”命令放入管道中,因为我使用 mocha 对我的节点项目进行单元测试。
当我在本地 shell 上运行“npm test”来测试我的路由时,它们每个都可以工作。但是当 bitbucket 的临时服务器运行命令时,我检索到这个错误:
我最近在我的存储库中实现了一个 config.toml 文件,以便在我的代码中放入一些变量(如域、路径等)。从那一刻起,在管道中运行的单元测试不再起作用。
这是 toml 解析的问题吗?
这是我的 toml 文件:
任何提示都应该非常感激。