node.js使用yargs處理命令行參數(shù)操作示例
本文實(shí)例講述了node.js使用yargs處理命令行參數(shù)。分享給大家供大家參考,具體如下:
yargs庫能夠方便的處理命令行參數(shù)。
一、安裝 yargs
npm install yargs --save
二、讀取命令行參數(shù)
const yargs = require('yargs'); let argv = yargs.argv; console.log(argv);
argv 對象用來保存命令行參數(shù),傳遞參數(shù)時(shí),參數(shù)名以 -- 開頭,中間使用 = 或 空格,然后接上值 。
argv 有一個(gè) 下劃線 屬性,該屬性用來獲取非連詞線開頭的參數(shù)
const yargs = require('yargs'); let argv = yargs.argv; console.log(argv._);
還可以給參數(shù)名取一個(gè)別名。
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]) 設(shè)置默認(rèn)值
.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', '目標(biāo)文件') .argv; console.log(argv);
我們可以通過 .option(key, [opt]) 配置所有設(shè)置
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: '目標(biāo)文件', type: 'string' }) .argv; console.log(argv);
有些時(shí)候我們只想知道某些參數(shù)有沒有設(shè)置,是 true 或是 false。
通過 .boolean(key) 解析參數(shù)為布爾值。
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', '設(shè)置源文件') .epilog('copyright') .help('info') .argv; console.log(argv);
希望本文所述對大家node.js程序設(shè)計(jì)有所幫助。
相關(guān)文章
使用Node.js實(shí)現(xiàn)Clean?Architecture方法示例詳解
這篇文章主要為大家介紹了使用Node.js實(shí)現(xiàn)Clean?Architecture方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02npm安裝sharp出現(xiàn)的問題詳解(安裝失敗的問題及解決)
這篇文章主要給大家介紹了關(guān)于npm安裝sharp出現(xiàn)的問題(安裝失敗的問題及解決)的相關(guān)資料,sharp包是基于node.js的高性能圖片處理器,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEq
這篇文章主要介紹了node項(xiàng)目中遇到使用斷言測試程序,看了下nodejs的api之后,對nodejs中assert斷言的幾個(gè)方法做個(gè)簡單的記錄,需要的朋友可以參考下2017-09-09詳細(xì)談?wù)凬odeJS進(jìn)程是如何退出的
這篇文章主要給大家介紹了關(guān)于NodeJS進(jìn)程是如何退出的相關(guān)資料,主要介紹了導(dǎo)致進(jìn)程退出的三個(gè)因素:主動(dòng)退出;未捕獲的異常、未處理的 promise rejection;未處理的 Event Emitter error 事件 系統(tǒng)信號,需要的朋友可以參考下2021-07-07NVM管理Node.js實(shí)現(xiàn)不同版本Angular環(huán)境切換
Node Version Manager(NVM)是一個(gè)用于管理多個(gè)Node.js版本的工具,它允許用戶在同一臺機(jī)器上安裝和使用多個(gè)Node.js版本,本文將給大家介紹NVM管理Node.js實(shí)現(xiàn)不同版本Angular環(huán)境切換的流程步驟,需要的朋友可以參考下2024-05-05基于nodejs的微信JS-SDK簡單應(yīng)用實(shí)現(xiàn)
這篇文章主要介紹了基于nodejs的微信JS-SDK簡單應(yīng)用實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-05-05npm安裝依賴報(bào)錯(cuò)ERESOLVE?unable?to?resolve?dependency?tree的解決方
當(dāng)我們拿到一個(gè)前端項(xiàng)目的時(shí)候,想要把它運(yùn)行起來,首先是要給它安裝依賴,下面這篇文章主要給大家介紹了關(guān)于npm安裝依賴報(bào)錯(cuò)ERESOLVE?unable?to?resolve?dependency?tree的解決方法,需要的朋友可以參考下2023-04-04使用Make構(gòu)建Node.js網(wǎng)站項(xiàng)目
這篇文章介紹了使用Make構(gòu)建Node.js網(wǎng)站項(xiàng)目的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-01-01