TypeScript项目中如何通过CLI向npm脚本传递参数值?
解决方法
1. 正确传递参数的命令
你的test:add脚本里嵌套了npm run some-command,这种情况下得用**两层--**来传参数,命令格式是:
npm run test:add -- --additionalValue
- 第一层
--是告诉npm把后面的内容原封不动传给test:add脚本; - 第二层
--是让test:add里的npm run some-command能拿到这个参数。
要是你要传具体值(不是flag类型),这么写就行:
npm run test:add -- 12345 # 或者带键名的参数 npm run test:add -- --target=dev
2. 在TS代码里获取参数
在some-command对应的执行文件里,直接用process.argv拿参数就行:
process.argv是个数组,前两个元素是Node的路径和当前脚本的路径,你传的自定义参数从索引2开始。
给个TS示例:
// 这是some-command对应的执行文件 const customArgs = process.argv.slice(2); console.log('拿到的参数:', customArgs); // 要是你传的是--additionalValue,customArgs就是['--additionalValue'] // 传纯值的话就是['12345']
补充提醒
- 如果你的脚本没有嵌套
npm run,直接执行命令,那一层--就够了; process.env是用来读环境变量的,得是键值对格式,不适合这种无键名的参数;process.arg0是Node的执行路径,和你传的参数没关系,别用它。
内容的提问来源于stack exchange,提问作者Drashti Patel
相关产品推荐
相关产品推荐

