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

如何在pnpm run脚本中传递并访问命令行参数?

解决pnpm run脚本中访问命令行参数的问题

方案一:直接使用位置参数(简化传递方式)

修改执行命令为不带--的形式,把参数作为位置参数传递:

pnpm run create:migration RoleMigration

对应的package.json脚本配置:

"scripts": {
    "start:dev": "nest start --watch",
    "create:migration": "typeorm migration:create ./src/migrations/$1"
}

这里$1会取到传递的第一个位置参数RoleMigration。

方案二:利用pnpm兼容的npm配置变量

执行命令时直接传递--name作为配置参数(无需加额外的--):

pnpm run create:migration --name=RoleMigration

对应的package.json脚本配置:

"scripts": {
    "start:dev": "nest start --watch",
    "create:migration": "typeorm migration:create ./src/migrations/$npm_config_name"
}

pnpm兼容npm的环境变量规则,$npm_config_name会自动解析--name参数的值。

方案三:解析带--传递的命令行参数

如果坚持要用pnpm run create:migration -- --name=RoleMigration的形式,可以通过shell命令提取参数值:

"scripts": {
    "start:dev": "nest start --watch",
    "create:migration": "typeorm migration:create ./src/migrations/$(echo \"$@\" | grep -oP '(?<=--name=)\\w+')"
}

这段命令会通过grep从传递的参数中提取--name=后面的内容,作为迁移文件名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 15:31:06