首頁  >  文章  >  web前端  >  nodejs命令列參數處理模組commander使用實例_node.js

nodejs命令列參數處理模組commander使用實例_node.js

WBOY
WBOY原創
2016-05-16 16:36:151465瀏覽

誠然,之前處理都是使用內建的process.agrv ,這個能work,但是不好使,於是tj大神給寫了一個,my god,完全的高大上:

1、安裝

複製程式碼 程式碼如下:

npm install commander

2、option 解析

Options with commander are defined with the .option() method, also serving as documentation for the options. The example below parses args and options from process.argv, leaving remaining args as the programn. options.

複製程式碼 程式碼如下:

#!/usr/bin/env node
 
/**
 * 模組依賴。
 */
 
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);

Short flags may be passed as a single arg, for example -abc is equivalent to -a -b -c. Multi-word options such as “–template-engine” are camel-cased, becoming programc.templateEngine etc.

3、自動產生help資訊

複製程式碼 程式碼如下:

$ ./examples/pizza --help
 
  Usage: pizza [options]
 
  Options:
 
    -V, --version        output the version number
    -p, --peppers        Add peppers
    -P, --pineapple      Add pineapple
    -b, --bbq            Add bbq sauce
    -c, --cheese   Add the specified type of cheese [marble]
    -h, --help           output usage information

當然你也可以手動產生:

複製程式碼 程式碼如下:

#!/usr/bin/env node
 
/**
 * 模組依賴。
 */
 
var program = require('../');
 
function list(val) {
  return val.split(',').map(Number);
}
 
program
  .version('0.0.1')
  .option('-f, --foo', 'enable some foo')
  .option('-b, --bar', 'enable some bar')
  .option('-B, --baz', 'enable some baz');
 
// must be before .parse() since
// node's emit() is immediate
 
program.on('--help', function(){
  console.log('  Examples:');
  console.log('');
  console.log('    $ custom-help --help');
  console.log('    $ custom-help -h');
  console.log('');
});
 
program.parse(process.argv);
 
console.log('stuff');

4、舉個完整的例子

複製程式碼 程式碼如下:
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn