代码之家  ›  专栏  ›  技术社区  ›  Oblomov

将多个命名参数传递给包。json脚本

  •  1
  • Oblomov  · 技术社区  · 7 年前

    我有一个当前有三个参数的webpack配置,当我以以下方式调用它时,它会起作用:

    webpack --env.p1 = "p1_value" --env.p2 = "p2_value" --env.p3 = "p3_value" 
    

    现在,我想将该webpack命令封装在以下包中。json脚本:

    "scripts": {
    
            "prod": "webpack --env.p1 --env.p2 --env.p3"
        }
    

    如何更改该脚本,以便可以通过以下方式从CLI调用它

    npm run prod p1="p1_value" p2="p2_value" p3="p3_value" 
    

    (其中命名参数是必不可少的,因为我需要能够在webpack配置中使用默认值?)

    1 回复  |  直到 7 年前
        1
  •  2
  •   Patrick Hund    7 年前

    您可以使用占位符将提供给npm命令的任何参数传递给webpack ${@:1} .

    包裹json

    "scripts": {
      "prod": "webpack ${@:1}"
    }
    

    在命令行中,使用以下命令添加要传递的参数 -- 作为分隔符,如下所示:

    npm run prod -- --env.p1="p1_value" --env.p2="p2_value" --env.p3="p3_value"