Node:接收命令行参数
如何在Node.js程序中从命令行接收参数
在调用Node.js应用程序时,您可以传递任意数量的参数
1 | node app.js |
参数可以是独立的,也可以由键和值组成。
例如:
1 | node app.js flavio |
或者
1 | node app.js name=flavio |
这会影响您在Node代码中如何检索这个值。
要检索它,可以使用Node内置的process
对象。
它暴露了一个argv
属性,它是一个包含所有命令行参数的数组。
第一个参数是node
命令的完整路径。
第二个元素是正在执行的文件的完整路径。
所有其他参数从第三个位置开始存在。
您可以使用循环遍历所有参数(包括节点路径和文件路径):
1 | process.argv.forEach((val, index) => { |
通过创建一个新数组来排除前两个参数,您可以仅获取其他参数:
1 | const args = process.argv.slice(2) |
如果有一个没有索引名称的参数,像这样:
1 | node app.js flavio |
您可以使用以下方式访问它:
1 | const args = process.argv.slice(2) |
在这种情况下:
1 | node app.js name=flavio |
args[0]
是name=flavio
,您需要解析它。
最好的方法是使用minimist
库,它有助于处理参数:
1 | const args = require('minimist')(process.argv.slice(2)) |
tags: [“Node.js”, “arguments”, “command line”, “minimist”]