npm - 通过多个脚本从 CLI 传递参数

npm - Pass arguments from CLI through multiple scripts

假设我在名为 print-last-arg.js 的文件中包含以下内容:

console.log(process.argv[process.argv.length-1])

以及我的 package.json 中的以下脚本:

"scripts": {
  "print_a": "node print-last-arg.js",
  "print_b": "npm run print_a"
}

当我 运行 npm run print_a -- --foo=bar 时,我按预期得到 --foo=bar

但是,npm run print_b -- --foo=bar 没有输出。

如何将 CLI 参数从 print_b 传递到 print_a

事实证明,你只需要在 print_b 的末尾添加一个额外的 --,这将告诉 npm 将 print_b 得到的任何参数传递给 print_a ].所以,

"scripts": {
  "print_a": "node print-last-arg.js",
  "print_b": "npm run print_a"
}

变成

"scripts": {
  "print_a": "node print-last-arg.js",
  "print_b": "npm run print_a -- "
}

瞧!现在 npm run print_b -- --foo=bar 按预期打印 --foo=bar