是否有方法在package.json命令内传递参数?
"scripts": {
"test": "node mytest.js $1 $2 | node_modules/tap-difflet/bin/tap-difflet"
}
clinpm运行测试8080生产
然后在mytest.js
上,我想用process.argv
获取参数
注意:它仅适用于shell环境,不适用于Windows cmd。您应该在Windows上使用bash,比如Git bash。如果您使用的是win10,请尝试Linux子系统。
为了将参数传递给npm脚本,为了安全起见,您应该在-
之后提供它们。
在您的情况下,--
可以省略。它们的行为相同:
npm run test -- 8080 production
npm run test 8080 production
但是,当参数包含选项(例如,-p
)时,--
是必需的,否则npm将解析它们并将其视为npm的选项。
npm run test -- 8080 -p
参数只是附加到要运行的脚本中。您的$1
$2
将无法解析。npm实际运行的命令是:
node mytest.js $1 $2 | node_modules/tap-difflet/bin/tap-difflet "8080" "production"
为了使position变量在npm脚本中工作,请将命令包装在shell函数中:
"scripts": {
"test": "run(){ node mytest.js $1 $2 | node_modules/tap-difflet/bin/tap-difflet; }; run"
}
或者使用scripty工具将脚本放入单个文件中。
package.json:
"scripts": {
"test": "scripty"
}
脚本/测试:
#!/usr/bin/env sh
node mytest.js $1 $2 | node_modules/tap-difflet/bin/tap-difflet
当用作npm脚本参数时,是否可以调用从yargs检索密钥? OSX终端中的用户类型: 执行package.json: 这导致了 只有在package.json中硬编码时,这才有效,但我需要它是可配置的。 正如我所说的,我使用的是args,因为它似乎可以很容易地按名称检索键(与数组相反)。接受建议。 我错过了什么? 更新11-07-2017相关:发送命令行参数到npm脚本 但是,传入命令行OR会产生
问题内容: 我有一个名为的MySQL脚本文件,其中包含: 我在MySQL控制台中,如何将参数传递给脚本?这不会转发变量: 问题答案: 您可以使用用户变量来实现您描述的行为。在将变量用作模式标识符而不是数据值时,必须使用准备好的语句,以便可以动态组成查询。 : 调用为
我正在尝试从使用自由式詹金斯构建切换到管道项目。 我喜欢它的许多方面,但我希望我可以使用多分支管道,因为它更适合我们公司,但目前这不是一个选择。 我们目前所做的是创建一个名为
问题内容: 是否可以通过命令行将参数传递给MySQL脚本? 在此示例中,类似于@start_date的内容: 问题答案: 发现在网络上的答案在这里。 基本上,假设我们要运行以下查询: 我们可以这样传递“ start_date”和“ end_date”:
问题内容: 我有一个Linux bash脚本“ myshell”。我希望它读取两个日期作为参数,例如:。我是Java程序员,但不知道如何编写脚本来完成此任务。 脚本的其余部分如下所示: 问题答案: 您在脚本中使用,例如
如果不满足所需的参数计数,我希望我的Bash脚本打印一条错误消息。 由于某种未知的原因,我出现了以下错误: 我做错了什么?