执行Node.js脚本时如何通过终端传递参数
Node.js 终端运行脚本传递自定义参数教程
下面两种是最常用的实现方式,可根据使用场景选择:
1. 轻量场景:直接使用内置 process.argv 读取
process 是 Node.js 自带的全局对象,无需额外引入,它的 argv 属性会按顺序存储所有命令行输入的参数,数组结构如下:
- 第0位:Node 程序的本地安装路径
- 第1位:当前执行的脚本文件的路径
- 第2位及之后:你传入的自定义参数
示例代码:
// myscript.js 内容 const fs = require('fs'); // 取第一个自定义参数赋值给myParameter const myParameter = process.argv[2]; console.log(myParameter);
运行命令示例:node myscript.js 自定义参数值
执行后控制台就会输出你传入的自定义参数值。
2. 复杂场景:解析命名参数
如果需要传键值对格式的参数(比如--name=张三、-p 1234这种带标识的参数),Node 16及以上版本可以用内置的util.parseArgs方法实现结构化解析:
const fs = require('fs'); const { parseArgs } = require('util'); // 配置要接收的参数规则 const { values } = parseArgs({ options: { myParameter: { type: 'string', // 参数类型:字符串/布尔值 short: 'm' // 短名缩写 } } }); const myParameter = values.myParameter; console.log(myParameter);
运行命令示例:node myscript.js --myParameter=测试参数
或者用短名:node myscript.js -m 测试参数
两种写法都可以正常读取到参数值。
如果是更低版本的Node,或者需要更复杂的参数校验、子命令等能力,可以用社区成熟的第三方工具包实现。
内容的提问来源于stack exchange,提问作者Lothurius Mobile Developer
相关产品推荐
相关产品推荐

