开发者社区> 问答> 正文

node.js 如何完美的从命令行接收参数所传递进来的值

比如在很多php py 文件中!都会从命令行接受参数的值并带入程序中!
我也想用node.js这么写 我目前是这样写的 感觉太费劲了!

var options = process.argv;
for(var i=0;i<canshu.length;i++)
{
    if(options[i].indexOf("-string")==0)
  {
        。。。。。
  }
    else if(options[i].indexOf("--start")==0)
  {
    ........
  }
}

感觉这样好费劲 有什么更加好一点的方法没?

展开
收起
管理贝贝 2016-02-05 15:09:56 5041 0
3 条回答
写回答
取消 提交回答
  • 有不少优秀的命令行解析工具,可以多利用搜索引擎(优先google,次bing,最后百度),关键词可以用node.js cli module

    此外推荐个轻量级的命令行解析工具 https://github.com/substack/minimist

    2019-07-17 18:28:09
    赞同 1 展开评论 打赏
  • 使用 commander.js 包
    http://web.npm.alibaba-inc.com/package/commander
    可以定义缩写,解析入参

    2019-07-17 18:28:09
    赞同 展开评论 打赏
  • 静静的看着你们

    看看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);
    2019-07-17 18:28:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
探究 Node.js 的服务端之路 立即下载
个推微服务实践 基于OpenResty 和Node.js 立即下载
沪江基于Node.js大规模应用实践 立即下载