【发布时间】:2018-11-22 22:00:35
【问题描述】:
我有一个类似于此的 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"
}
我在代码中添加了一些逻辑来更改 dev:stub-server 的配置方式,具体取决于命令行参数。因此,每当我运行以下命令时,我都会得到我所期望的:
yarn dev:stub-server --results=4
$ ./node_modules/.bin/robohydra ./stubs/robohydra-config.json -p 3100 -- --results=4
如您所见,选项被转发到底层脚本,一切都按预期工作。
我的问题是我无法将--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
有没有办法使上述工作改为如下?
yarn dev --results=2
$ cross-env BABEL_ENV=client webpack --config webpack/client.development.js && yarn dev:stub-server --results=2 | cross-env BABEL_ENV=server babel-node src/server/server.js
提前致谢!
【问题讨论】:
标签: node.js npm package.json yarnpkg npm-scripts