今天就跟大家聊聊有關(guān)如何在node.js中使用yargs處理命令行參數(shù),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)專注于企業(yè)營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、永濟(jì)網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)、商城開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為永濟(jì)等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。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ù)名以 -- 開頭,中間使用 = 或 空格,然后接上值 。
argv 有一個(gè) 下劃線 屬性,該屬性用來(lá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) 是否必須填寫
.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);
我們可以通過(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') .example('--s a.txt', '設(shè)置源文件') .epilog('copyright') .help('info') .argv; console.log(argv);
看完上述內(nèi)容,你們對(duì)如何在node.js中使用yargs處理命令行參數(shù)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,感謝大家的支持。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。