资讯专栏INFORMATION COLUMN

NPM酷库:commander,命令行参数处理框架

dendoink / 2638人阅读

摘要:酷库,每天两分钟,了解一个流行库。昨天,我们学习的库,用于解析命令行参数,能将参数数组转换为一个更易于访问的对象。今天,我们继续学习一个更加强大的命令行参数处理库。

NPM酷库,每天两分钟,了解一个流行NPM库。

昨天,我们学习的minimist库,用于解析Node.js命令行参数,能将参数数组process.env.argv 转换为一个更易于访问的对象。

今天,我们继续学习一个更加强大的命令行参数处理库commander。

commander

commander 是一个命令行参数处理的完整的解决方案,不仅仅包含参数数组的解析转换,更支持如下特性:

参数格式正则匹配

可变数量参数列表

参数默认值

参数别名支持

可定义参数语法

子命令支持

自定义帮助信息输出

应用实例:

const program = require("commander");

program
  .version("0.1.0")
  .option("-C, --chdir ", "change the working directory")
  .option("-c, --config ", "set config path. defaults to ./deploy.conf")
  .option("-T, --no-tests", "ignore test hook");

program
  .command("setup [env]")
  .description("run setup commands for all envs")
  .option("-s, --setup_mode [mode]", "Which setup mode to use")
  .action(function(env, options){
    let mode = options.setup_mode || "normal";
    env = env || "all";
    console.log("setup for %s env(s) with %s mode", env, mode);
  });
参考资料

https://github.com/tj/command...

http://tj.github.io/commander...

欢迎关注公众号:梁兴臣

每天了解一个NPM库,一年后成为Node.js高手

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/92496.html

相关文章

  • NPM酷库:minimist,命令参数解析

    摘要:酷库,每天两分钟,了解一个流行库。昨天我们了解的库用于从文件中加载环境变量。虽然从中可以得到启动参数列表,但是我们仍需要对参数进行进一步解析处理才行。 NPM酷库,每天两分钟,了解一个流行NPM库。 昨天我们了解的dotenv库用于从文件中加载环境变量。环境变量用于程序运行时动态加载参数,除了环境变量,我们还可以在启动Node.js 程序时直接指定命令行参数: node index.j...

    eternalshallow 评论0 收藏0
  • NPM酷库:split 按读取文本流

    摘要:酷库,每天两分钟,了解一个流行库。昨天,我们了解的中数据流的处理,并使用快速创建双向流,今天,我们继续讨论数据流。我们昨天说到,使用数据流,可以分批读取数据到内存,而不用将文件一次性读取到内存。 NPM酷库,每天两分钟,了解一个流行NPM库。 昨天,我们了解的Node.js中数据流的处理,并使用through快速创建双向流,今天,我们继续讨论数据流。 我们昨天说到,使用数据流,可以分批...

    骞讳护 评论0 收藏0
  • NPM酷库:log4js JavaScript日志框架

    摘要:酷库,每天两分钟,了解一个流行库。今天,我们继续认识另一个日志框架,这个框架和有些类似,也提供了多路日志输出的功能。中称之为,而中称之为输出源。日志分类,可以用来标志不同的程序模块,类似库中的效果,默认分类为。 NPM酷库,每天两分钟,了解一个流行NPM库。 前两天,我们认识了 debug 库 和 winston 库,两款管理程序日志的库,其中debug偏向于适合开发调试,winsto...

    nicercode 评论0 收藏0
  • 使用 NodeJS 构建现代化的命令工具

    摘要:前言这是一篇关于如何使用构建高性能高可读性的现代化命令行工具的博客。对于命令行工具来说,运行时的权限是巨大的,但不要因此弄脏用户的系统。 前言 这是一篇关于如何使用 NodeJS 构建高性能、高可读性的现代化命令行工具的博客。 每当我们想要创建一个基于 NodeJS 的命令行工具时,就会衍生出一堆问题需要解决,比如如何准备开发环境,如何打包转译代码,如何使代码在转译后保持可调用的状态同...

    QLQ 评论0 收藏0
  • 做一个基于react-scripts的脚手架

    摘要:前言作为官方的脚手架是相当好用的。注意就是脚手架的核心配置代码。另一个是使用,用户通过增加修改配置。所以才有了今天的主题基于的脚手架,确切说应该是基于的脚手架。其中一定要填写。前言 create-react-app作为facebook官方的react脚手架是相当好用的。主要设计原理是将配置好的如Webpack,Babel,ESLint,合并到react-scripts这npm包中,用户就可以...

    linkFly 评论0 收藏0

发表评论

0条评论

dendoink

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<