node.js使用yargs处理命令行参数操作示例

 更新时间:2020年02月11日 10:05:43   作者:怀素真  
这篇文章主要介绍了node.js使用yargs处理命令行参数操作,结合实例形式分析了yargs库的安装及node.js使用yargs处理命令行参数具体实现技巧,需要的朋友可以参考下

本文实例讲述了node.js使用yargs处理命令行参数。分享给大家供大家参考,具体如下:

yargs库能够方便的处理命令行参数。

一、安装 yargs

npm install yargs --save

二、读取命令行参数

const yargs = require('yargs');
let argv = yargs.argv;
console.log(argv);

argv 对象用来保存命令行参数,传递参数时,参数名以 -- 开头,中间使用 = 或 空格,然后接上值 。

argv 有一个 下划线 属性,该属性用来获取非连词线开头的参数

const yargs = require('yargs');
let argv = yargs.argv;
console.log(argv._);

还可以给参数名取一个别名。

const yargs = require('yargs');
let argv = yargs
  .alias('n', 'name')
  .alias('s', 'save')
  .alias('w', 'width')
  .argv;
console.log(argv);

.demandOption(key, msg) 是否必须填写

.default(key, value, [description]) 设置默认值

.describe(key, desc) 命令描述信息

const yargs = require('yargs');
let argv = yargs
  .alias('s', 'src')
  .alias('d', 'dst')
  .demandOption(['s', 'd'], 's 与 d 必须填写')
  .default('s', 'a.txt')
  .default('d', 'b.txt')
  .describe('s', '源文件')
  .describe('d', '目标文件')
  .argv;
console.log(argv);

我们可以通过 .option(key, [opt]) 配置所有设置

const yargs = require('yargs');
let argv = yargs
  .option('s', {
    alias: 'src',
    demandOption: true,
    default: 'a.txt',
    describe: '源文件',
    type: 'string'
  })
  .option('d', {
    alias: 'dst',
    demandOption: true,
    default: 'b.txt',
    describe: '目标文件',
    type: 'string'
  })
  .argv;
console.log(argv);

有些时候我们只想知道某些参数有没有设置,是 true 或是 false。

通过 .boolean(key) 解析参数为布尔值。

const yargs = require('yargs');
let argv = yargs
  .alias('s', 'save')
  .boolean(['s'])
  .argv;
console.log(argv);

.usage() 用法格式

.example(cmd, desc) 提供例子

.help() 帮助信息

.epilog(str) 在帮助信息尾部显示

const yargs = require('yargs');
let argv = yargs
  .alias('s', 'save')
  .usage('Usage: --s <filename>')
  .example('--s a.txt', '设置源文件')
  .epilog('copyright')
  .help('info')
  .argv;
console.log(argv);

希望本文所述对大家node.js程序设计有所帮助。

相关文章

  • 使用Node.js实现Clean Architecture方法示例详解

    使用Node.js实现Clean Architecture方法示例详解

    这篇文章主要为大家介绍了使用Node.js实现Clean Architecture方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • 一文详解package.json配置

    一文详解package.json配置

    这篇文章主要为大家介绍了一文详解package.json配置,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • npm安装sharp出现的问题详解(安装失败的问题及解决)

    npm安装sharp出现的问题详解(安装失败的问题及解决)

    这篇文章主要给大家介绍了关于npm安装sharp出现的问题(安装失败的问题及解决)的相关资料,sharp包是基于node.js的高性能图片处理器,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比较

    nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEq

    这篇文章主要介绍了node项目中遇到使用断言测试程序,看了下nodejs的api之后,对nodejs中assert断言的几个方法做个简单的记录,需要的朋友可以参考下
    2017-09-09
  • 详细谈谈NodeJS进程是如何退出的

    详细谈谈NodeJS进程是如何退出的

    这篇文章主要给大家介绍了关于NodeJS进程是如何退出的相关资料,主要介绍了导致进程退出的三个因素:主动退出;未捕获的异常、未处理的 promise rejection;未处理的 Event Emitter error 事件 系统信号,需要的朋友可以参考下
    2021-07-07
  • Nodejs中crypto模块的安全知识讲解

    Nodejs中crypto模块的安全知识讲解

    本篇文章给大家详细介绍了Nodejs中crypto模块的安全知识的相关内容,需要的朋友跟着小编一下学习参考下吧。
    2018-01-01
  • NVM管理Node.js实现不同版本Angular环境切换

    NVM管理Node.js实现不同版本Angular环境切换

    Node Version Manager(NVM)是一个用于管理多个Node.js版本的工具,它允许用户在同一台机器上安装和使用多个Node.js版本,本文将给大家介绍NVM管理Node.js实现不同版本Angular环境切换的流程步骤,需要的朋友可以参考下
    2024-05-05
  • 基于nodejs的微信JS-SDK简单应用实现

    基于nodejs的微信JS-SDK简单应用实现

    这篇文章主要介绍了基于nodejs的微信JS-SDK简单应用实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • npm安装依赖报错ERESOLVE unable to resolve dependency tree的解决方法

    npm安装依赖报错ERESOLVE unable to resolve dependency tree的解决方

    当我们拿到一个前端项目的时候,想要把它运行起来,首先是要给它安装依赖,下面这篇文章主要给大家介绍了关于npm安装依赖报错ERESOLVE unable to resolve dependency tree的解决方法,需要的朋友可以参考下
    2023-04-04
  • 使用Make构建Node.js网站项目

    使用Make构建Node.js网站项目

    这篇文章介绍了使用Make构建Node.js网站项目的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-01

最新评论