IT技术之家

首页 > 前端

前端

Node.js 入门教程 11 Node.js 从命令行接收参数_node命令行传递参数_Ding Jiaxiong

发布时间:2023-06-08 17:17:41 前端 4次 标签:node.js javascript 前端
Node.js 入门教程 11 Node.js 从命令行接收参数...

Node.js 入门教程

Node.js官方入门教程

Node.js中文网

本文仅用于学习记录,不存在任何商业用途,如侵删

文章目录

Node.js 入门教程11 Node.js 从命令行接收参数

11 Node.js 从命令行接收参数

当使用以下命令调用 Node.js 应用程序时,可以传入任意数量的参数:

node app.js

参数可以是独立的,也可以具有键和值。

例如:

node app.js joe

node app.js name=joe

这会改变在 Node.js 代码中获取参数值的方式。

获取参数值的方法是使用 Node.js 中内置的 process 对象。

它公开了 argv 属性,该属性是一个包含所有命令行调用参数的数组。

第一个参数是 node 命令的完整路径。

第二个参数是正被执行的文件的完整路径。

所有其他的参数从第三个位置开始。

可以使用循环迭代所有的参数(包括 node 路径和文件路径):

process.argv.forEach((val, index) => {
  console.log(`${index}: ${val}`)
})

也可以通过创建一个排除了前两个参数的新数组来仅获取其他的参数:

const args = process.argv.slice(2)

如果参数没有索引名称,例如:

node app.js joe

则可以这样访问:

const args = process.argv.slice(2)
args[0]

如果是这种情况:

node app.js name=joe

args[0]name=joe,需要对其进行解析。

最好的方法是使用 minimist 库,该库有助于处理参数:

const args = require('minimist')(process.argv.slice(2))
args['name'] //joe

需要在每个参数名称之前使用双破折号:

这个库需要安装的,npm install minimist