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


Posted in Javascript onFebruary 11, 2020

本文实例讲述了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程序设计有所帮助。

Javascript 相关文章推荐
jQuery 事件队列调整方法
Sep 18 Javascript
jcarousellite.js 基于Jquery的图片无缝滚动插件
Dec 30 Javascript
jquery里的正则表达式说明
Aug 03 Javascript
Table冻结表头示例代码
Aug 20 Javascript
JS绘制生成花瓣效果的方法
Aug 05 Javascript
JavaScript Date对象详解
Mar 01 Javascript
JavaScript中数组的各种操作的总结(必看篇)
Feb 13 Javascript
AngularJS实现注册表单验证功能
Oct 16 Javascript
js实现Tab选项卡切换效果
Jul 17 Javascript
JS实现处理时间,年月日,星期的公共方法示例
May 31 Javascript
使用Vue.js 和Chart.js制作绚丽多彩的图表
Jun 15 Javascript
JavaScript中的类型检查
Feb 03 Javascript
node.js实现http服务器与浏览器之间的内容缓存操作示例
Feb 11 #Javascript
node.js 使用 net 模块模拟 websocket 握手进行数据传递操作示例
Feb 11 #Javascript
JavaScript实现拖拽功能
Feb 11 #Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
Feb 11 #Javascript
基于Angular 8和Bootstrap 4实现动态主题切换的示例代码
Feb 11 #Javascript
原生js实现点击轮播切换图片
Feb 11 #Javascript
node.js中process进程的概念和child_process子进程模块的使用方法示例
Feb 11 #Javascript
You might like
PHP中函数内引用全局变量的方法
2008/10/20 PHP
跟我学Laravel之请求(Request)的生命周期
2014/10/15 PHP
详解PHP导入导出CSV文件
2014/11/03 PHP
php字符串分割函数用法实例
2015/03/17 PHP
PHP中应该避免使用同名变量(拆分临时变量)
2015/04/03 PHP
PHP将URL转换成短网址的算法分享
2016/09/13 PHP
javascript 短路法代码精简
2009/08/20 Javascript
JS 时间显示效果代码
2009/08/23 Javascript
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
2011/02/25 Javascript
javascript检测对象中是否存在某个属性判断方法小结
2013/05/19 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
jQuery fancybox在ie浏览器下无法显示关闭按钮的解决办法
2016/02/19 Javascript
分类解析jQuery选择器
2016/11/23 Javascript
JS请求servlet功能示例
2017/06/01 Javascript
js中less常用的方法小结
2017/08/09 Javascript
使用npm安装最新版本nodejs
2018/01/18 NodeJs
微信小程序左滑动显示菜单功能的实现
2018/06/14 Javascript
详解小程序循环require之坑
2019/03/08 Javascript
[40:31]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
给Python的Django框架下搭建的BLOG添加RSS功能的教程
2015/04/08 Python
在Python中操作文件之read()方法的使用教程
2015/05/24 Python
python实现简单中文词频统计示例
2017/11/08 Python
django中账号密码验证登陆功能的实现方法
2019/07/15 Python
使用Python调取任意数字资产钱包余额功能
2019/08/15 Python
python字符串常用方法及文件简单读写的操作方法
2020/03/04 Python
Python 批量读取文件中指定字符的实现
2020/03/06 Python
python爬虫scrapy框架之增量式爬虫的示例代码
2021/02/26 Python
css3让div随鼠标移动而抖动起来
2014/02/10 HTML / CSS
CSS3 display知识详解
2015/11/25 HTML / CSS
草莓巧克力:Shari’s Berries
2017/02/07 全球购物
为什么需要版本控制
2016/10/28 面试题
财务助理岗位职责范本
2014/10/09 职场文书
2015元旦晚会主持人开场白+结束语
2014/12/14 职场文书
先进党支部申报材料
2014/12/24 职场文书
廉洁自律证明
2015/06/24 职场文书
windows安装python超详细图文教程
2021/05/21 Python