【问题标题】:named parameter to npm run scriptnpm 运行脚本的命名参数
【发布时间】:2015-10-30 01:52:11
【问题描述】:

我想将命名参数传递给 npm 运行脚本,以便执行以下操作:

"scripts":{
    "say-hello":"echo $greeting && ls"
 }

 npm run hello --greeting=hello

我希望它把 'hello' 代替 $greeting 变量,回显命令,然后执行 ls(这显然只是一个简单的链接命令示例)

【问题讨论】:

    标签: javascript node.js parameters npm run-script


    【解决方案1】:

    另一种方法是简单地添加以下“--”,后跟所需的参数。这将用于 '=' 值的命名参数。请注意此示例中的底层过程,量角器调用,需要一个 Url arg。

    npm run e2e -- --Url="https://yoururlhere.com"
    

    【讨论】:

      【解决方案2】:

      刚刚发现这行得通:

      "scripts":{
        "say-hello" : "echo $npm_config_greeting && ls"
      }
      

      编辑:

      任何以 npm_config_ 开头的环境变量都将被解释为配置参数。例如,将 npm_config_foo=bar 放入您的环境中会将 foo 配置参数设置为 bar

      npm docs

      【讨论】:

      • 你是如何让它工作的?我正在尝试,但我无法弄清楚。
      • @JacobMiki here's 一个最小的package.json,打电话给npm run say-hello --greeting="hello world" (npm@2.11.2)
      • 这就是我所做的,但我仍然得到$npm_config_greeting 的回应。问题是,我在 Windows 上尝试了它,尽管在 bash 中运行它,但 echo 仍然期望变量的形式为 %npm_config_greeting%。我会删除我的答案,因为它是错误的。
      • @JacobMiki 哦,对了,Windows 在环境变量(它们是)方面的工作方式不同。好点。
      • @robertklep 你知道是否有任何解决方法或适用于 Windows 的选项?
      猜你喜欢
      • 2020-09-30
      • 2019-08-18
      • 2020-12-31
      • 1970-01-01
      • 2018-09-18
      • 1970-01-01
      • 1970-01-01
      • 2017-08-19
      • 2012-07-19
      相关资源
      最近更新 更多