nodejs中命令行中参数的获取和解析
2015-12-19 17:01
676 查看
首先,假设有如下的命令行 node abc.js arg1 arg2 arg3,现在想在abc.js中获取后面的参数arg1、arg2、arg3…
var args = process.argv.splice(2);
process是一个全局对象,argv返回的是一组包含命令行参数的数组。第一项为”node”,第二项为执行的js的完整路径和文件,后面是附加在命令行后的所有参数。
其次,nodejs中经常利用minimist模块,minimist 是一个node 模块,用来做命令行参数解析。
比如,解析
效果简单明了:
这里的-a,-b 都是一个string类型的参数,值分别为 avalue,bvalue 。具体的命令格式和参数类型,需要自己去看看此模块的readme。
var args = process.argv.splice(2);
process是一个全局对象,argv返回的是一组包含命令行参数的数组。第一项为”node”,第二项为执行的js的完整路径和文件,后面是附加在命令行后的所有参数。
其次,nodejs中经常利用minimist模块,minimist 是一个node 模块,用来做命令行参数解析。
var argv = require('minimist')(process.argv.slice(2));
比如,解析
$ls -a avalue -b bvalue arg
效果简单明了:
argv.a=
avalue
argv.b=b
value
argv._[0]=ls argv._[1]=arg
这里的-a,-b 都是一个string类型的参数,值分别为 avalue,bvalue 。具体的命令格式和参数类型,需要自己去看看此模块的readme。
//var objFile = defaultValue(argv._[0], defaultValue(argv.i, argv.input)); //var outputPath = defaultValue(argv._[1], defaultValue(argv.o, argv.output)); //var binary = defaultValue(defaultValue(argv.b, argv.binary), false); //var embed = defaultValue(defaultValue(argv.e, argv.embed), false); //var technique = defaultValue(argv.t, argv.technique); 参考:(http://www.thinksaas.cn/group/topic/379078/)
相关文章推荐
- 如何屏蔽nodejs里的/favicon.ico请求
- Leetcode: Count Complete Tree Nodes
- 【leetcode题解】【E】【61.5】Remove Nth Node From End of List
- [Node.js] 使用node-forge保障Javascript应用的传输安全
- node.js环境配置
- Ext系列文件系统inode和block详解
- leetcode -- Count Complete Tree Nodes -- 重点。BFS
- Android系统编译环境初始化时Product产品的import-nodes过程
- 解决NodeJs gm模块报错{ [Error: Command failed: aaЧaaaa ] code: 4, signal: null }
- Nodejs解决2分钟限制
- nodejs基础 -- web模块
- [转]Node.JS package.json 字段全解析
- 带中间件的api调用链|php与nodejs的异同
- nodejs+edatagrid读取本地excel表格
- [Unit Testing] Node testing: Test api Get request
- 用Eclipse调试Node.js代码
- The node (XXX.XXX.XXX.XXX,XXX.XXX.XXX.XXX)has already some ScaleIO components installed
- nodejs基础 -- 常用工具util
- Node.js 究竟是什么?
- PHP nodejs 多进程处理