如何在Node.js程序中接受从命令行传递的参数

107 阅读1分钟

如何在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