小编Luc*_* L.的帖子

传递命令行-Yarn中子脚本的参数

我有一个看起来像这样的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)

如您所见,这些选项将转发到基础脚本,并且一切正常。

我的问题是我无法--resultsyarn 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)

node.js npm package.json npm-scripts yarnpkg

7
推荐指数
3
解决办法
6780
查看次数

标签 统计

node.js ×1

npm ×1

npm-scripts ×1

package.json ×1

yarnpkg ×1