yargs庫能夠方便的處理命令行參數。
一、安裝 yargs
npm install yargs --save
二、讀取命令行參數
const yargs = require('yargs');
let argv = yargs.argv;
console.log(argv);
argv 對象用來保存命令行參數,傳遞參數時,參數名以 -- 開頭,中間使用 = 或 空格,然后接上值 。
argv 有一個 下划線 屬性,該屬性用來獲取非連詞線開頭的參數
const yargs = require('yargs');
let argv = yargs.argv;
console.log(argv._);
還可以給參數名取一個別名。
const yargs = require('yargs');
let argv = yargs
.alias('n', 'name')
.alias('s', 'save')
.alias('w', 'width')
.argv;
console.log(argv);
.demandOption(key, msg) 是否必須填寫
.default(key, value, [description]) 設置默認值
.describe(key, desc) 命令描述信息
const yargs = require('yargs');
let argv = yargs
.alias('s', 'src')
.alias('d', 'dst')
.demandOption(['s', 'd'], 's 與 d 必須填寫')
.default('s', 'a.txt')
.default('d', 'b.txt')
.describe('s', '源文件')
.describe('d', '目標文件')
.argv;
console.log(argv);
我們可以通過 .option(key, [opt]) 配置所有設置
const yargs = require('yargs');
let argv = yargs
.option('s', {
alias: 'src',
demandOption: true,
default: 'a.txt',
describe: '源文件',
type: 'string'
})
.option('d', {
alias: 'dst',
demandOption: true,
default: 'b.txt',
describe: '目標文件',
type: 'string'
})
.argv;
console.log(argv);
有些時候我們只想知道某些參數有沒有設置,是 true 或是 false。
通過 .boolean(key) 解析參數為布爾值。
const yargs = require('yargs');
let argv = yargs
.alias('s', 'save')
.boolean(['s'])
.argv;
console.log(argv);
.usage() 用法格式
.example(cmd, desc) 提供例子
.help() 幫助信息
.epilog(str) 在幫助信息尾部顯示
const yargs = require('yargs');
let argv = yargs
.alias('s', 'save')
.usage('Usage: --s <filename>')
.example('--s a.txt', '設置源文件')
.epilog('copyright')
.help('info')
.argv;
console.log(argv);
