node.js中使用yargs來處理命令行參數


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);

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM