node.js使用yargs處理命令行參數(shù)操作示例
本文實(shí)例講述了node.js使用yargs處理命令行參數(shù)。分享給大家供大家參考,具體如下:
yargs庫(kù)能夠方便的處理命令行參數(shù)。
一、安裝 yargs
npm install yargs --save
二、讀取命令行參數(shù)
const yargs = require('yargs');
let argv = yargs.argv;
console.log(argv);
argv 對(duì)象用來(lái)保存命令行參數(shù),傳遞參數(shù)時(shí),參數(shù)名以 -- 開(kāi)頭,中間使用 = 或 空格,然后接上值 。
argv 有一個(gè) 下劃線(xiàn) 屬性,該屬性用來(lái)獲取非連詞線(xiàn)開(kāi)頭的參數(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) 是否必須填寫(xiě)
.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 必須填寫(xiě)')
.default('s', 'a.txt')
.default('d', 'b.txt')
.describe('s', '源文件')
.describe('d', '目標(biāo)文件')
.argv;
console.log(argv);
我們可以通過(guò) .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ù)有沒(méi)有設(shè)置,是 true 或是 false。
通過(guò) .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);
希望本文所述對(duì)大家node.js程序設(shè)計(jì)有所幫助。
相關(guān)文章
使用Node.js實(shí)現(xiàn)RESTful API的示例
Node.js可以用很少代碼簡(jiǎn)單地實(shí)現(xiàn)一個(gè)Web服務(wù),并且它有一個(gè)非?;钴S的社區(qū),通過(guò)Node出色的包管理機(jī)制(NPM)可以非常容易獲得各種擴(kuò)展支持。 對(duì)簡(jiǎn)單的應(yīng)用場(chǎng)景Node.js實(shí)現(xiàn)REST是一個(gè)非常合適的選擇。 本文介紹如何用Node.js實(shí)現(xiàn)REST服務(wù)。2017-08-08
深入理解nodejs搭建靜態(tài)服務(wù)器(實(shí)現(xiàn)命令行)
這篇文章主要介紹了深入理解nodejs搭建靜態(tài)服務(wù)器(實(shí)現(xiàn)命令行),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02
理解 Node.js 事件驅(qū)動(dòng)機(jī)制的原理
本篇文章主要介紹了理解 Node.js 事件驅(qū)動(dòng)機(jī)制的原理,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
node.js回調(diào)函數(shù)之阻塞調(diào)用與非阻塞調(diào)用
本文重點(diǎn)給大家介紹node.js回調(diào)函數(shù)之阻塞調(diào)用和非阻塞調(diào)用,涉及到node.js回調(diào)函數(shù)的相關(guān)知識(shí),對(duì)本文感興趣的朋友一起學(xué)習(xí)吧2015-11-11
使用Node.js實(shí)現(xiàn)Clean?Architecture方法示例詳解
這篇文章主要為大家介紹了使用Node.js實(shí)現(xiàn)Clean?Architecture方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
node實(shí)現(xiàn)批量上傳本地圖片轉(zhuǎn)為圖片CDN的項(xiàng)目實(shí)踐
本文主要介紹了node實(shí)現(xiàn)批量上傳本地圖片轉(zhuǎn)為圖片CDN的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
詳解node.js搭建代理服務(wù)器請(qǐng)求數(shù)據(jù)
本篇文章主要介紹了詳解node.js搭建代理服務(wù)器請(qǐng)求數(shù)據(jù),具有一定的參考價(jià)值,有興趣的可以了解一下。2017-04-04

