将CLI参数传递给package.json中的预命令

假设我在package.json中:

{
  "scripts": {
    "prebuild": "some-command",
    "build": "some-other-command"
  }
}

如果现在运行npm run build -- --some-args,则prebuild命令some-command 没有获取传递给它的--some-args。如何将其传递给所有前置/后置脚本?

回答如下:

您也许可以使用环境变量来做到这一点:

"scripts": {                                                                  
    "prebuild": "echo $FLAG \"prebuild\"",                                
    "build": "echo \"testing\""                                                     
}

如果运行npm run build


> [email protected] prebuild /test
> echo $FLAG "prebuild"

prebuild

> [email protected] build /test
> echo "testing"

testing

如果您运行FLAG=-n npm run build

> [email protected] prebuild /test
> echo $FLAG "prebuild"

prebuild
> [email protected] build /test
> echo "testing"

testing

但是我不确定它是否可以与多个标志一起使用

将CLI参数传递给package.json中的预命令

假设我在package.json中:

{
  "scripts": {
    "prebuild": "some-command",
    "build": "some-other-command"
  }
}

如果现在运行npm run build -- --some-args,则prebuild命令some-command 没有获取传递给它的--some-args。如何将其传递给所有前置/后置脚本?

回答如下:

您也许可以使用环境变量来做到这一点:

"scripts": {                                                                  
    "prebuild": "echo $FLAG \"prebuild\"",                                
    "build": "echo \"testing\""                                                     
}

如果运行npm run build


> [email protected] prebuild /test
> echo $FLAG "prebuild"

prebuild

> [email protected] build /test
> echo "testing"

testing

如果您运行FLAG=-n npm run build

> [email protected] prebuild /test
> echo $FLAG "prebuild"

prebuild
> [email protected] build /test
> echo "testing"

testing

但是我不确定它是否可以与多个标志一起使用