我有一个看起来像这样的package.json:
"scripts": {
"dev": "cross-env BABEL_ENV=client webpack --config webpack/client.development.js && yarn dev:stub-server | cross-env BABEL_ENV=server babel-node src/server/server.js",
"dev:stub-server": "./node_modules/.bin/robohydra ./stubs/robohydra-config.json -p 3100"
}
Run Code Online (Sandbox Code Playgroud)
我在代码中添加了一些逻辑,以dev:stub-server根据命令行参数更改配置的方式。因此,无论何时运行以下命令,我都会得到期望的结果:
yarn dev:stub-server --results=4
$ ./node_modules/.bin/robohydra ./stubs/robohydra-config.json -p 3100 -- --results=4
Run Code Online (Sandbox Code Playgroud)
如您所见,这些选项将转发到基础脚本,并且一切正常。
我的问题是我无法--results从yarn dev命令传播到dev:stub-server正确的位置。父脚本会运行,dev:stub-server但是参数最终会转发到基础脚本,如下所示:
yarn dev --results=2
$ cross-env BABEL_ENV=client webpack --config webpack/client.development.js && yarn dev:stub-server | cross-env BABEL_ENV=server babel-node src/server/server.js --results=2
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以使上面的工作代替如下?
yarn dev --results=2
$ cross-env BABEL_ENV=client webpack --config webpack/client.development.js && yarn dev:stub-server --results=2 | …Run Code Online (Sandbox Code Playgroud)