如何将参数从一个npm脚本传递到另一个脚本?

ruarlubt  于 2022-11-14  发布在  其他
关注(0)|答案(1)|浏览(196)

我试图将参数从一个npm脚本传递到另一个脚本(由第一个脚本调用),但我完全不知道如何进行。
下面是一个例子,我在package.json中有下面的scripts部分:

{
  "scripts": {
    "one": "npm run two && npm run three",
    "two": "gulp build",
    "three": "another random command"
  }
}

我运行脚本one,如下所示:npm run one -- --arg=value。但是我想动态地将arg传递给脚本two
总而言之,我想要的是:

  1. I型npm run one -- --arg=value
    1.它运行npm run two -- --arg=value && npm run three
    1.这将导致运行gulp build --arg=value,然后运行另一个随机命令
    有人有什么主意吗?非常感谢。
ilmyapht

ilmyapht1#

下面的三种方法都适用于npm run one -- --arg=value

1.使用pre & post scripts

您可以直接运行第二个脚本,并将第三个脚本定义为post script

{
  "scripts": {
    "one": "npm run two --",
    "postone": "npm run three",
    "two": "gulp build",
    "three": "another random command"
  }

2.使用npm-run-all

将参数占位符传递给各个脚本。

"scripts": {
    "one": "run-s 'two -- {@}' three --",
    "postone": "npm run three",
    "two": "gulp build",
    "three": "another random command"
  }

3.使用concurrently

将第一个脚本更改为与并发运行所有内容,指示第二个脚本应通过参数传递。

{
  "scripts": {
    "one": "concurrently -P 'npm run two -- {@} && npm run three' --",
    "two": "gulp build",
    "three": "another random command"
  }
}

由于我们只将一个命令并发传递给,因此不存在并发。

相关问题