You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在运行npm的createenv脚本时传递并读取命令行参数

解决npm脚本命令行参数传递问题

问题原因

npm run 命令后直接跟的参数,默认不会自动传递给脚本内部的子命令(比如这里的node cliTest.js),需要通过特定语法显式传递。

解决方案

1. 修改package.json中的脚本

将createenv脚本修改为:

"scripts": {
   "test" : "npm run module1 || npm run posttest",
   "createenv": "node cliTest.js -- $@ && npm run test"
}
  • --:用于告诉npm将后续参数传递给脚本内的子命令
  • $@:bash环境变量,代表所有传入的命令行参数,会把参数原样传递给node cliTest.js

2. 正确的命令执行方式

运行时需要在参数前加上--:

npm run createenv -- foobar

3. 在cliTest.js中获取参数

process.argv数组的前两位固定是node执行路径和脚本文件路径,从第三位开始是传递的参数,所以可以通过切片获取:

// cliTest.js
console.log(process.argv.slice(2)); // 输出: ['foobar']

这样就能成功获取到传入的foobar参数了。

内容的提问来源于stack exchange,提问作者Anon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 11:06:20