具体表现
在执行下面的命令时,--myoption
会被 npm script 丢弃
npm run mycommand --myoption
如图所示
这就会导致实际执行的mycommand.js
接收不到参数
解决办法
在--myoption
前加上--
,效果如图
原因
-
或者--
开头的值会被当做 npm script 的参数,而它又没有处理它们的部分,因此这些参数会被丢弃--myoption
前加的--
在 bash 中被称为“配置项参数终止符”,用法举例如下
# echo 命令用来输出字符,比如
echo help # help
# 如果我想要输出 --help,直接在echo 后面加上--help的话,会输出echo命令的帮助文档
# 此时就需要 -- 出场了
echo -- --help # --help
# 也就是说 配置项参数终止符 后面跟随的值会被当成纯文本直接传递给命令