如何在Node.js程序中接受从命令行传递的参数
在调用Node.js程序时,你可以传递任意数量的参数,使用
参数可以是独立的,也可以有一个键和一个值。
比如说
或
这改变了你在Node代码中检索这个值的方式。
你检索它的方式是使用Node中内置的process 对象。
它暴露了一个argv 属性,它是一个包含所有命令行调用参数的数组。
第一个参数是node 命令的完整路径。
第二个元素是正在执行的文件的完整路径。
所有的附加参数都是从第三个位置开始向前呈现。
你可以用一个循环遍历所有的参数(包括节点路径和文件路径)。
process.argv.forEach((val, index) => {
console.log(`${index}: ${val}`)
})
你可以通过创建一个排除前两个参数的新数组,只获得附加参数。
const args = process.argv.slice(2)
如果你有一个没有索引名的参数,像这样。
你可以用以下方法访问它
const args = process.argv.slice(2)
args[0]
在这种情况下。
args[0] 是 ,你需要对它进行解析。name=flavio
这样做的最好方法是通过使用 minimist库,它有助于处理参数。
const args = require('minimist')(process.argv.slice(2))
args['name'] //flavio