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 相关文章推荐
共享自己写一个框架DreamScript
Jan 20 Javascript
js计算精度问题小结
Apr 22 Javascript
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
Apr 26 Javascript
javascript中RegExp保留小数点后几位数的方法分享
Aug 13 Javascript
js onmousewheel事件多次触发问题解决方法
Oct 17 Javascript
上传文件返回的json数据会被提示下载问题解决方案
Dec 03 Javascript
JavaScript使表单中的内容显示在屏幕上的方法
Jun 29 Javascript
jQuery插件简单实现方法
Jul 18 Javascript
详解js中的apply与call的用法
Jul 30 Javascript
Vue 2中ref属性的使用方法及注意事项
Jun 12 Javascript
详解js几个绕不开的事件兼容写法
Aug 30 Javascript
jQuery属性选择器用法实例分析
Jun 28 jQuery
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设计模式之结构模式的深入解析
2013/06/13 PHP
使用php统计字符串中中英文字符的个数
2013/06/23 PHP
windows环境下使用Composer安装ThinkPHP5
2018/05/18 PHP
baidu博客的编辑友情链接的新的层窗口!经典~支持【FF】
2007/02/09 Javascript
用javascript实现点击链接弹出&quot;图片另存为&quot;而不是直接打开
2007/08/15 Javascript
判断用户的在线状态 onbeforeunload事件
2011/03/05 Javascript
JS小功能(列表页面隔行变色)简单实现
2013/11/28 Javascript
对table和ul实现js分页示例分享
2014/02/24 Javascript
Express作者TJ告别Node.js奔向Go
2014/07/14 Javascript
jQuery实现为图片添加镜头放大效果的方法
2015/06/25 Javascript
JavaScript对象数组的排序处理方法
2015/10/21 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
2016/08/03 Javascript
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
2017/06/17 Javascript
基于webpack 实用配置方法总结
2017/09/28 Javascript
vue-cli 默认路由再子路由选中下的选中状态问题及解决代码
2018/09/06 Javascript
Vue.js计算机属性computed和methods方法详解
2019/10/12 Javascript
小程序卡片切换效果组件wxCardSwiper的实现
2020/02/13 Javascript
ES6 Generator基本使用方法示例
2020/06/06 Javascript
使用python Django做网页
2013/11/04 Python
深入解析Python中函数的参数与作用域
2016/03/20 Python
Python简单定义与使用字典dict的方法示例
2017/07/25 Python
pandas ix &amp;iloc &amp;loc的区别
2019/01/10 Python
Python线程之定位与销毁的实现
2019/02/17 Python
python写入数据到csv或xlsx文件的3种方法
2019/08/23 Python
Django模板导入母版继承和自定义返回Html片段过程解析
2019/09/18 Python
关于Tensorflow使用CPU报错的解决方式
2020/02/05 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
2020/02/28 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
Gap工厂店:Gap Factory
2017/11/02 全球购物
WoolOvers澳洲官方网站:英国针织服装公司
2018/05/13 全球购物
艺术应用与设计专业个人的自我评价
2013/11/19 职场文书
主管竞聘书范文
2014/03/31 职场文书
培训讲师岗位职责
2014/04/13 职场文书
毕业设计论文评语
2014/12/31 职场文书
廉政党课工作报告案例
2019/06/21 职场文书