关闭

node.js中使用yargs来处理命令行参数

时间: 2019-01-14阅读: 1341标签: 命令

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

  

站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/1822

关闭

python常用命令

#查看django版本;创建一个项目mysite;在当前目录下启动manage.py;创建一个polls应用;在当前目录下针对models生成sql语句;根据生成的sql语句生成数据库

Flutter 常用命令

查看flutter是否安装到位 环境是否正常;查看版本号;升级环境flutter upgrade;获取flutter packages包 (现在基本上已经是保存就自动导入的了 );以release 模式运行

常用的搜索命令_高级搜索指令大全

作为一名资深SEO,不懂得搜索引擎高级指令的使用显然是说不过去的。搜索引擎高级指令就如同语言一样,用来建立搜索引擎与SEO人员直接沟通的“通道”,下面就为大家整理下常用的高级搜索命令

Linux常用命令

玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令

9 个非常实用的网络调试命令,你会用几个呢?

ping 是个使用频率极高的实用程序,主要用于确定网络的连通性。这对确定网络是否正确连接,以及网络连接的状况十分有用。简单的说,ping 就是一个测试程序,如果 ping 运行正确,大体上就可以排除网络访问层、网卡、Modem 的输入输出线路

1分钟内检查Linux服务器性能的10条命令

如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?Netflix性能工程团队的Brendan Gregg写下了这篇博文,来看他们是怎样通过十条命令在一分钟内对机器性能问题进行诊断。

Git命令总结

Git 是当前最流行的版本控制程序之一,文本包含了 Git 的一些基本用法 创建 git 仓库 初始化 git 仓库,git init # 初始化 git 仓库。此命令会在当前目录新建一个 .git 目录,用于存储 git 仓库的相关信息

提高效率的 Linux 命令别名

在 Linux 环境下工作的工程师,一定会对那些繁琐的指令和参数命令行印象深刻吧。而且,可怕的不是繁琐,而是需要大量重复输入这些繁琐的命令;在 Linux 下我们有个别名命令 alias

NodeJS 构建现代化的命令行工具

这是一篇关于如何使用 NodeJS 构建高性能、高可读性的现代化命令行工具的博客。每当我们想要创建一个基于 NodeJS 的命令行工具时,就会衍生出一堆问题需要解决,比如如何准备开发环境,如何打包转译代码

FFmpeg常用命令合集

视频裁剪滤镜(播放器大小裁剪): ffmpeg -i killer.mp4 -vf crop=in_w-200:in_h-200 -c:v libx264 -c:a copy out.mp4;视频裁剪(按时间裁剪): ffmpeg -i shanguangshaonv.mp4 -ss

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!