node.js 命令行框架 yargs 和你的程序实现交互

如何让你的node.js 应用程序像shell 脚本一样和你交互?

于是就有了今天这一片博文 关于 yargs 使用分享.


大概有一种情况你需要让你的程序接收一个参数,通过这个参数我们做一系列的定制化功能.

常见的做法是 把一些不同环境不同配置的变量写到 config 配置文件中.

当你的环境变化的时候,你手动去修改你的config 中的变量来达到不同环境显示定制化的东西.


更具象的一个例子:

config文件中有一个配置项 langue

当你发布国内站点的时候,你需要配置成 langue="zh-cn"

当你发布国外站点的时候,你需要配置成 langue="en"


现在, yargs 的功能就是帮你实现类似上面这种定制化的参数功能.

从此一些简单定制参数可以彻底摆脱 config 配置了.


比如:

你的node.js 启动文件是 app.js

当你部署中文环境站点的时候,就可以这样  node app.js --l zh-cn

英文网站部署时  node app.js --l en


当然上面输入给启动文件的 -l 参数,你是可以在 app.js 文件中获取,然后对应加载你需要定制化的东东即可.


上面我们只是介绍它的作用,以及一个具体的例子让大家明白什么时候使用.下面开始介绍如何使用:


yargs 

npm地址:

https://www.npmjs.com/package/yargs


github地址:

https://github.com/bcoe/yargs


安装:

npm install --save yargs


定义命令交互参数:

var argv = require('yargs').argv;
if (argv.l == 'zh-cn') {
    console.log('Chinese site!');
}else if(argv.l == 'en') {
    console.log('English website!');
}


使用:

$ ./app.js --l=zh-cn
Chinese site!

$ ./app.js --l=en
English website!


app.js 文件中如何接受 --l 参数

var argv = require('yargs').argv;

if (argv.l=='zh-cn') {
    //获取参数 l 的值
    console.log('Chinese website!');
    global.langue='zh-cn';
}else if(argv.l=='en'){
    console.log('English website!');
    global.langue='en';
}

上面我们通过 argv 获取 --l 参数来判断当前要运行哪个环境.

然后使用全局变量 global.langue 来标识当前运行环境.

在后面的所有个性化定制处我们都可以直接使用全局变量 global.langue 来做判断.


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值