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

  

原文地址:https://www.cnblogs.com/jkko123/p/10264420.html

时间: 2024-09-28 17:00:43

node.js中使用yargs来处理命令行参数的相关文章

python中os.path.dirname(__file__) 命令行 参数没有绝对路径导致数据库找不到

(1).当"print os.path.dirname(__file__)"所在脚本是以完整路径被运行的, 那么将输出该脚本所在的完整路径,比如: python d:/pythonSrc/test/test.py 那么将输出 d:/pythonSrc/test (2).当"print os.path.dirname(__file__)"所在脚本是以相对路径被运行的, 那么将输出空目录,比如: python test.py 那么将输出空字符串 启动参数后来加上绝对路径

3.QT中QCommandLineParser和QCommandLineOption解析命令行参数

 1  新建项目 main.cpp #include <QCoreApplication> #include <QCommandLineParser> #include <QDebug> #include <stdio.h> int main(int argc, char** argv) { QCoreApplication app(argc, argv); app.setApplicationVersion("1.0.0.0");

python中命令行参数

python中的命令行参数 python中有一个模块sys,sys.argv这个属性提供了对命令行参数的访问.命令行参数是调用某个程序时除程序名外的其他参数. sys.argv是命令行参数的列表 len(sys.argv)是命令行参数的个数 下面我们用一个简单的例子来说明一下. #!/usr/bin/python #coding:utf-8 import sys ##加载sys这个模块. for i in range(len(sys.argv)): print "第%d个参数是:%s"

聊聊默认支持的各种配置源[内存变量,环境变量和命令行参数]

聊聊默认支持的各种配置源[内存变量,环境变量和命令行参数] 较之传统通过App.config和Web.config这两个XML文件承载的配置系统,.NET Core采用的这个全新的配置模型的最大一个优势就是针对多种不同配置源的支持.我们可以将内存变量.命令行参数.环境变量和物理文件作为原始配置数据的来源,如果采用物理文件作为配置源,我们可以选择不同的格式(比如XML.JSON和INI等) .如果这些默认支持的配置源形式还不能满足你的需求,我们还可以通过注册自定义ConfigurationSour

.NET Core采用的全新配置系统[5]: 聊聊默认支持的各种配置源[内存变量,环境变量和命令行参数]

较之传统通过App.config和Web.config这两个XML文件承载的配置系统,.NET Core采用的这个全新的配置模型的最大一个优势就是针对多种不同配置源的支持.我们可以将内存变量.命令行参数.环境变量和物理文件作为原始配置数据的来源,如果采用物理文件作为配置源,我们可以选择不同的格式(比如XML.JSON和INI等) .如果这些默认支持的配置源形式还不能满足你的需求,我们还可以通过注册自定义ConfigurationSource的方式将其他形式数据作为我们的配置来源. [ 本文已经同

怎样在Java的官网上搜索命令行参数的说明

这个日志有些吐槽的成份在里面.前两天看到JDK Windows下的一个参数-agentpath:"",因为之前没用过,所以想查查官方解释,发现在百度里很难搜索到,可以搜索出来如下的日志: http://xinklabi.iteye.com/blog/837435 但是有时候我们希望能看到更官方的,更及时更新的Specification等,那么就需要在官网上查找了,但是这个过程也挺麻烦的,我简单总结一下: 我们在:http://docs.oracle.com/javase/8/ 这里可以

Python 获得命令行参数的方法

本篇将介绍python中sys, getopt模块处理命令行参数 如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢?需要模块:sys参数个数:len(sys.argv)脚本名: sys.argv[0]参数1: sys.argv[1]参数2: sys.argv[2] test.py 1 import sys 2 print "脚本名:", sys.argv[0] 3 for i in range(1, len(sys.argv)):

Golang系列文章:打印命令行参数

记得最早在学校机房学习Java时,写一个最简单main方法,当程序运行并在屏幕上打印出hello world时,内心还有些小激动呢,相信很多人都有这种经历吧.今天想借助命令行程序,总结一下Go语言的基础知识点. 首先,来一个Go语言版的hello world: // hello.go package main import "fmt" func main() { fmt.Println("hello world") } 我们可以直接在命令行执行下面的命令来运行该程序

NodeJs&gt;-------&gt;&gt;第二章:Node.js中交互式运行环境--------REL

第二章:Node.js中交互式运行环境--------REL 一:REPL运行环境概述 1 C:\Users\junliu>node 2 > foo = 'bar' ; 3 'bar' 4 > 二:在REPL运行环境中操作变量 1 C:\Users\junliu>node 2 > foo='bar' 3 'bar' 4 > var foo='bar' 5 undefined 6 > 1 console.log("foo='bar'"); //控