minimist库的基础使用

minimist库的基础使用

minimist 是一个用来解析命令行选项的库

基础使用

var parseArgs = require('minimist')
var argv = parseArgs(args, opts)

返回的argv 返回一个对象, 其中 argv._包含了所有不包含选项的参数,其它的key为选项,值对应的具体的选项的值。

其中opts选项支持如下设置:

  • opts.string 一个字符串或者是一组字符串,表示这些选项的值会被当做字符串解析.
  • opts.boolean 一个bool值、字符串或者是一组字符串。 如果为true, 那么所有以 -- 开头的参数都会被解析成boolean, 如果是字符串或是字符串数组, 那么对应的选项值会被解析成bool值
  • opts.alias 一个别名的映射,一个选项可以映射到不同的选项别名
  • opts.default 给对应的选项设置默认值
  • opts.stopEarly 如果为true,那么argv._下会保存第一个非选项后的所有参数, 默认false
  • opts['--'] 如果为true,argv._ 会保存到 -- 之前的选项, argv['--']会保留 -- 之后的选项
  • opts.unknown 一个函数, 参数为未设定的选项名,如果返回true,则会被添加到解析结果中,否则不添加

测试代码


function processUnknown(command) {
    console.log(command);
    return false;
}

var argv = require('minimist')(process.argv.slice(2), {
    boolean: ['hello', 's'],
    alias: { s: ['isStudent', 'isOk'] },
    default: { height: 100 },
    // stopEarly: true,
    // '--': true,
    unknown: processUnknown
});
console.dir(argv);


 node index.js  --hello false cc  --no-world  -s false  aa -a 100
cc
--no-world
aa
-a
{ _: [],
  hello: false,
  s: false,
  isStudent: false,
  isOk: false,
  height: 100 }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,521评论 0 5
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,156评论 19 139
  • 从接二连三的推文到数不胜数的书籍, 从再“穷也要去旅游”、“趁年轻 多出去看看”到 “世界那么大,我想去看看”.....
    LouisYuan_聰阅读 335评论 0 3
  • 作者:地球上的火星人 “上尉,我们继续搜查基地,或许会有新的发现。”周敏望着方上尉道。 此刻,方上尉的脑海...
    地球的火星人阅读 204评论 0 0
  • 成长是条布满荆棘的路,而我正在掉入荆棘的陷阱中不知道如何挣脱,我的挣扎会让束缚在我身上的藤蔓越来越紧,让我难...
    橙子芳芳芳阅读 274评论 0 0