Javascript npm运行脚本的命名参数
我希望将命名参数传递给npm运行脚本,以便执行以下操作:Javascript npm运行脚本的命名参数,javascript,node.js,parameters,npm,run-script,Javascript,Node.js,Parameters,Npm,Run Script,我希望将命名参数传递给npm运行脚本,以便执行以下操作: "scripts":{ "say-hello":"echo $greeting && ls" } npm run hello --greeting=hello 然后我希望它将'hello'替换为$greeting变量,回显命令,然后执行ls(这显然只是一个链式命令的简单示例)刚刚发现这是可行的: "scripts":{ "say-hello" : "echo $npm_config_greeting &
"scripts":{
"say-hello":"echo $greeting && ls"
}
npm run hello --greeting=hello
然后我希望它将'hello'替换为$greeting变量,回显命令,然后执行ls(这显然只是一个链式命令的简单示例)刚刚发现这是可行的:
"scripts":{
"say-hello" : "echo $npm_config_greeting && ls"
}
编辑:
任何以npm\u config\开头的环境变量都将被解释为配置参数。例如,在您的环境中放置npm\u config\u foo=bar将foo配置参数设置为bar
另一种方法是简单地添加以下'--',然后添加所需的参数。这将用于'='值的命名参数。请注意,本例中的底层过程(量角器调用)需要Url arg
npm run e2e -- --Url="https://yoururlhere.com"
你是怎么做到的?我正在尝试,但我想不出来。@JacobMiki一个最小的
package.json
,用npm运行say hello--greeting=“hello world”
(npm@2.11.2
)我就是这么做的,但我仍然得到了$npm\u config\u问候语的回响。问题是,我在Windows上尝试了它,尽管在bash中运行了它,echo仍然希望变量的格式为%npm\u config\u greeting%
。我将删除我的答案,因为它是错误的。@JacobMiki哦,对了,当涉及到环境变量时,Windows的工作方式是不同的。很好。@robertklep您知道windows是否有解决方法或选项吗?