返回顶部
首页 > 资讯 > 前端开发 > JavaScript >node获取命令行中的参数详解
  • 106
分享到

node获取命令行中的参数详解

node获取命令行参数node命令行参数 2022-11-13 19:11:24 106人浏览 八月长安
摘要

目录认识processprocess.arg封装获取参数函数认识process 在开发cli工具时,往往离不开获取指令中各种参数信息,接下来本文将带着你如何在node.js中获取执行

认识process

开发cli工具时,往往离不开获取指令中各种参数信息,接下来本文将带着你如何在node.js中获取执行时的参数

processnodejs内置的一个对象,该对象提供了当前有关nodejs进程的信息。(例如获取当前进程id,执行平台等与当前执行进程相关的对象和方法)

node process文档

process.arg

在该对象中,有一个arg属性,它可以获取当前node执行时传入各个参数数据。

我们创建一个index.js文件,先打印下process.args里面是什么东西

console.log(process.arg)
// node index.js
[
  'D:\\software\\nodejs\\node.exe',
  'D:\\project\\script\\src\\index.js'
]

从上面的输出结果,可以得到当前执行的node程序路径(也就是process.execPath返回值)和执行的文件(index.js)路径,我们像使用其他cli工具一样添加一些参数试试

node index.js name=zhangsan age=18
[
  'D:\\software\\nodejs\\node.exe',
  'D:\\project\\script\\src\\index.js',
  'name=zhangsan',
  'age=18'
]

可以看到我们传入的name参数与age参数也被获取到了

需要注意的是argv中的参数是通过空格来分割的

通常,我们会在命令行每个参数前面添加--字符,用来识别传入的各个参数。

例如在esbuild构建工具中

esbuild app.jsx --bundle --outfile=out.js

例如在vite构建工具中

vite --config my-config.js

修改一下上面的命令为

node index.js --name=zhangsan --age=18

将会得到如下输出结果

[
  'D:\\software\\nodejs\\node.exe',
  'D:\\project\\script\\src\\index.js',
  '--name=zhangsan',
  '--age=18'
]

封装获取参数函数

从上面两个例子和官方文档中,我们可以得知argv的前两个参数都是固定的,在获取用户传入的参数我们需要process.argv.slice(2)一下,只获取从下标2开始的元素。 也即是

[
  '--name=zhangsan',
  '--age=18'
]

有了这些数据之后,我们需要再进一步解构里面的参数,将前面的--去除掉,把key=value改变成{key:value}方便我们在开发中进行参数获取。 最终我们得到了这样子的函数:

  • process.argv数组,并切片从下标2开始
  • 判断数组中的每个值是否为--开头,是则视为用户传入参数
  • 同样进行切片操作,获取下标2开始的字符,再通过=区分出对应的keyvalue,其返回的是[key,value]
  • 最后,将这个二维数组传入到Object.fromEntries转换为一个对象
const arguments = process.argv.slice(2);
const params = Object.fromEntries(
  arguments.reduce((pre, item) => {
    if (item.startsWith("--")) {
      return [...pre, item.slice(2).split("=")];
    }
    return pre;
  }, []),
);
console.log(params)
// { name: 'zhangsan', age: '18' }

以上就是node获取命令行中的参数详解的详细内容,更多关于node获取命令行参数的资料请关注编程网其它相关文章!

--结束END--

本文标题: node获取命令行中的参数详解

本文链接: https://lsjlt.com/news/171032.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • node获取命令行中的参数详解
    目录认识processprocess.arg封装获取参数函数认识process 在开发cli工具时,往往离不开获取指令中各种参数信息,接下来本文将带着你如何在Node.js中获取执行...
    99+
    2022-11-13
    node获取命令行参数 node 命令行参数
  • node如何获取命令行中的参数
    这篇文章主要讲解了“node如何获取命令行中的参数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“node如何获取命令行中的参数”吧!认识processprocess是nodejs内置的一个对...
    99+
    2023-07-04
  • node中怎么获取命令行中的参数
    process.arg在该对象中,有一个arg属性,它可以获取当前node执行时传入各个参数数据。我们创建一个index.js文件,先打印下process.args里面是什么东西console.log(process.arg) // nod...
    99+
    2022-11-22
    nodejs​ node
  • shell中怎么获取命令行参数
    本篇文章为大家展示了shell中怎么获取命令行参数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。代码如下:#! /bin/bashwhile getopts a:bc optdo &nbs...
    99+
    2023-06-09
  • node.js读取命令行参数详解
    命令行参数(CLI)是在应用程序通过操作系统的命令行界面运行时用于向程序传递附加信息的文本字符串。 我们可以很容易地通过node中的全局对象(即process对象)读取这些参数。 下...
    99+
    2022-11-13
    node.js读取命令行参数 node.js读取命令行参数 node.js args模块读取命令行参数
  • python获取命令行参数的代码
    如下的内容内容是关于python获取命令行参数的内容,希望能对大家有所好处。 # [SNIPPET_NAME: Command line arguments]# [SNIPPET_CATEGORIES: Python Core]# [SN...
    99+
    2023-01-30
    命令行 参数 代码
  • PHP如何获取命令行参数
    目录$argv 获得所有空格分隔的参数列表getopt() 从命令行参数列表中获取选项长选项冒号规则选项参数中断总结使用 PHP 开发的同学多少都会接触过 CLI 命令行。经常会有一...
    99+
    2024-04-02
  • PHP怎么获取命令行参数
    这篇文章主要介绍了PHP怎么获取命令行参数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php的框架有哪些php的框架:1、Laravel,Laravel是一款免费并且开源的...
    99+
    2023-06-15
  • 怎么获取PHP命令行参数
    这篇文章主要介绍怎么获取PHP命令行参数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!如何获取PHP命令行参数使用 PHP 开发的同学多少都会接触过 CLI 命令行。经常会有一些定时任务或者一些脚本直接使用命令行处理...
    99+
    2023-06-15
  • python怎么获取命令行参数
    在Python中,可以使用sys模块来获取命令行参数。下面是一个例子:```pythonimport sysarguments = ...
    99+
    2023-09-23
    python
  • 怎么在shell中获取命令行参数
    本篇文章为大家展示了怎么在shell中获取命令行参数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。#! /bin/bashwhile getopts a:bc ...
    99+
    2023-06-09
  • python-如何获取命令行是参数
    如果需要获取python test.py xx yy zz上面输入的xx yy zz python可以使用sys.argv获取到命令行参数。sys.argv[0]表示代码本身文件路径,所有参数从1开始,一下例子说明,创建一个test.py文...
    99+
    2023-01-31
    命令行 参数 python
  • c++获取命令行参数失败怎么解决
    C++获取命令行参数失败的原因可能有很多种,下面列举几种常见的解决方案:1. 检查代码:确保你的代码正确获取命令行参数。你可以使用a...
    99+
    2023-09-23
    c++
  • python命令行参数详解
    在Python中,可以通过命令行传递参数给脚本。这些参数可以在脚本内部使用,以便根据不同的输入执行不同的操作。Python命令行参数的详解:1、位置参数:在命令行中按照顺序传递给脚本的参数,它们可以在脚本内部通过位置来访问;2、命令行选项:...
    99+
    2023-12-18
    python 命令行
  • 详解Python中命令行参数argparse的常用命令
    目录1、参数个数控制2、参数互斥3、子命令1、参数个数控制 parser.add_argument('-i', '--integers', nargs='', const=100, ...
    99+
    2023-01-29
    Python argparse常用命令 Python argparse命令 Python argparse
  • shell获取命令行参数示例分享
    #! /bin/bash while getopts a:bc optdo case $opt in a) echo "aaa" echo $OPTARG b) ...
    99+
    2022-06-04
    示例 命令行 参数
  • Python:读取命令行参数
    也是argv之类的。 argv[0], argv[1], argv[2] ... argv[0]是py文件的文件名 argv[1] - ... 是后面跟着的参数 import sys args = sys.argv[:] prin...
    99+
    2023-01-31
    命令行 参数 Python
  • Python的命令行参数实例详解
    目录0. 命令行参数1. sys.argv2. getopt2.1 getopt.getopt 方法2.2 Exception getopt.GetoptError3. argpar...
    99+
    2024-04-02
  • shell学习教程获取命令行参数示例
    #! /bin/bashwhile getopts a:bc optdocase $opt ina)echo "aaa"echo $OPTARGb)echo "bb"c)echo "ccc"*)echo ...
    99+
    2022-06-04
    示例 命令行 参数
  • shell如何获取命令行最后一个参数
    这篇文章主要介绍shell如何获取命令行最后一个参数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!获取命令行最后一个参数复制代码 代码如下:echo ${!#} echo&...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作