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

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}`);
});

您可以通过创建一个排除前 2 个参数的新数组来仅获取附加参数:

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 安装所需的 minimist 包(关于包管理器的课程 稍后)。

npm install minimist

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

node app.js --name=joe

猜你喜欢

转载自blog.csdn.net/weixin_43302112/article/details/124915306
今日推荐