将多个命名参数传递给package.json脚本

时间:2018-02-19 12:51:03

标签: npm webpack package.json

我有一个webpack配置,当前有三个参数,当我按以下方式调用它时,它可以工作:

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

现在我想在以下package.json脚本中封装该webpack命令:

"scripts": {

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

的package.json

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

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

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