npm 执行命令传递参数时,为何需要双横线
更多描述 如在
npm script
中有以下命令:
{
"start": "serve"
}
其中 serve
可通过 --port
指定端口号:
$ npm start -- --port 8080
# 而在 yarn 时无需传递参数
$ yarn start --port 8080
那为什么 npm 执行命令传递参数时,为何需要双横线
Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 719
Author 回答者: iceycc
https://github.com/npm/npm/pull/5518 npm脚本执行时会开启一个shell,执行后面指定的脚本命令或文件, — 是为了给后面shell脚本命令传递参数,类似node环境的process.argv的吧。