扫码关注官方订阅号
比如在很多php py 文件中!都会从命令行接受参数的值并带入程序中! 我也想用node.js这么写 我目前是这样写的 感觉太费劲了!
var options = process.argv; for(var i=0;i
感觉这样好费劲 有什么更加好一点的方法没?
人生最曼妙的风景,竟是内心的淡定与从容!
看看tj大神的commander.js
https://github.com/visionmedia/commander.js
代码示例
#!/usr/bin/env node /** * Module dependencies. */ var program = require('commander'); program .version('0.0.1') .option('-p, --peppers', 'Add peppers') .option('-P, --pineapple', 'Add pineapple') .option('-b, --bbq', 'Add bbq sauce') .option('-c, --cheese [type]', 'Add the specified type of cheese [marble]', 'marble') .parse(process.argv); console.log('you ordered a pizza with:'); if (program.peppers) console.log(' - peppers'); if (program.pineapple) console.log(' - pineapple'); if (program.bbq) console.log(' - bbq'); console.log(' - %s cheese', program.cheese);
楼上提到的commander是专门用来写CLI的了,如果你只是需要一个专门parse命令行参数的包,可以用substack的optimist: https://npmjs.org/package/optimist
建议楼主多逛逛https://npmjs.org/browse/star 里面库基本都全了
注意在下面的程序是不可少的。 @0x_Jin 你看看这篇文章的写法http://witcheryne.iteye.com/blog/1196170
#!/usr/bin/env node var program = require('commander'); function range (val) { return val.split('..').map(Number); } function list (val) { return val.split(',') } //定义参数,以及参数内容的描述 program .version('0.0.1') .usage('[options] [value ...]') .option('-m, --message <string>', 'a string argument') .option('-i, --integer <n>', 'input a integet argument.', parseInt) .option('-f, --float <f>', 'input a float arg', parseFloat) .option('-l, --list <items>', 'a list', list) .option('-r, --range <a>..<b>', 'a range', range) //添加额外的文档描述 program.on('help', function() { console.log(' Examples:') console.log('') console.log(' # input string, integer and float') console.log(' $ ./nodecmd.js -m \"a string\" -i 1 -f 1.01') console.log('') console.log(' # input range 1 - 3') console.log(' $ ./nodecmd.js -r 1..3') console.log('') console.log(' # input list: [1,2,3]') console.log(' $ ./nodecmd.js -l 1,2,3') console.log('') }); //解析commandline arguments program.parse(process.argv) //输出结果 console.info('--messsage:') console.log(program.message); console.info('--integer:') console.log(program.integer) console.info('--range:') console.log(program.range) console.info('--list:') console.log(program.list)
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
看看tj大神的commander.js
https://github.com/visionmedia/commander.js
代码示例
楼上提到的commander是专门用来写CLI的了,如果你只是需要一个专门parse命令行参数的包,可以用substack的optimist: https://npmjs.org/package/optimist
建议楼主多逛逛https://npmjs.org/browse/star
里面库基本都全了
注意在下面的程序是不可少的。 @0x_Jin 你看看这篇文章的写法
http://witcheryne.iteye.com/blog/1196170