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
。
假设我在名为 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
。