OSDN Git Service

Regular updates
[twpd/master.git] / yargs.md
1 ---
2 title: Yargs
3 category: JavaScript libraries
4 layout: 2017/sheet
5 ---
6
7 ### Basic usage
8
9 ```js
10 var argv = require('yargs').argv;
11
12 argv._         // [ ... ]
13 argv.$0        // "node bin/mybin"
14 argv.verbose   // --verbose
15 ```
16
17 ### Help and version
18
19 ```js
20 var argv = require('yargs')
21
22   // version
23   .alias('v', 'version')
24   .version(function() { return require('../package').version; })
25   .describe('v', 'show version information')
26
27   // help text
28   .alias('h', 'help')
29   .help('help')
30   .usage('Usage: $0 -x [num]')
31   .showHelpOnFail(false, "Specify --help for available options")
32 ```
33
34 ### Options
35
36 ```js
37   .option('f', {
38       alias : 'file',
39       describe: 'x marks the spot',
40       type: 'string', /* array | boolean | string */
41       nargs: 1,
42       demand: true,
43       demand: 'file is required',
44       default: '/etc/passwd'
45       // also: count:true, requiresArg:true
46   })
47
48   .options({
49     f: { ... }
50   })
51 ```
52
53 ### Examples and more help stuff
54
55 ```js
56   // more help
57   .example('...')
58   .epilog('copyright 2015')
59   .command('start', 'start a server')
60 ```
61
62 ### Stacking
63
64 ```js
65   .count('verbose')
66
67 argv.verbose // -vvv => 3
68 ```
69
70 ### Reject non explicits
71
72 ```js
73   .strict()
74 ```
75
76 ### Methods
77
78 ```
79 yargs.showHelp()
80 yargs.help() //=>string
81 ```