小知识|npm scripts 如何将参数正确传递运行的脚本
问题
在公司项目的
package.json文件中有个scripts命令:npm run component:add,在命令行输入npm run component:add -g aa -n bb -d cc后,显示的命令变成了node ./packages/scripts component:add aa bb ccc,-都不见了,甚至报错了
解决
- 这里需要用到
--,将参数传递给实际的命令
npm run component:add -- -g aa -n bb -d cc |
在npm scripts中,--的作用是告诉npm,之后的参数应该传递给运行的脚本,而不是npm自身。当运行npm run script-name -- arg1 arg2时,--之后的参数会被传递给script-name对应的脚本。
这是因为npm在运行脚本时,它会收集所有在npm run命令之后的参数,并将它们传递给实际执行的命令。但是,如果实际执行的命令也以-开头,npm可能会尝试解析这些参数,而不将它们传递给运行的脚本。
通过使用--,将告诉npm停止解析参数,并将其余的参数传递给脚本。这样,你就可以确保你的脚本正确地接收到所有的参数。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 晚风予星!
评论




