【发布时间】:2016-05-27 11:59:20
【问题描述】:
我想在我的 npm 脚本中将一个参数传递给两个命令中的第一个:
"scripts": {
"myscript": "a && b"
}
当我运行npm run myscript -- --somearg=somevalue 时,参数被传递给命令b,而不是命令a。有没有办法确保第一个命令接收参数?
【问题讨论】:
-
我认为
npm将附加参数附加到配置值(a & b + $@)而不是针对指定的每个命令。作为一种肮脏的解决方法,您可以指定一个 shell 脚本sh <script>.sh,然后在 shell 脚本文件中指定cmd1 -- $@ && cmd2 -- $@,它将执行多个命令。 -
或 this answer 用于运行跨平台的解决方案(即 Bash、Windows 命令提示符/cmd.exe 和 PowerShell 等)。
-
也许您需要的是
pre和post脚本挂钩?文档描述,如果您添加前缀为pre或post的脚本,例如postmyscript,它将在您的脚本之后运行。但是,您的脚本是获取参数的脚本。
标签: javascript node.js npm