今天就跟大家聊聊有關如何在node.js中使用yargs處理命令行參數,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
義馬網站建設公司創新互聯公司,義馬網站設計制作,有大型網站制作公司豐富經驗。已為義馬1000+提供企業網站建設服務。企業網站搭建\外貿網站制作要多少錢,請找那個售后服務好的義馬做網站的公司定做!
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);
看完上述內容,你們對如何在node.js中使用yargs處理命令行參數有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創新互聯行業資訊頻道,感謝大家的支持。
分享文章:如何在node.js中使用yargs處理命令行參數
本文URL:http://m.newbst.com/article8/pohgop.html
成都網站建設公司_創新互聯,為您提供定制開發、網站制作、營銷型網站建設、外貿建站、外貿網站建設、域名注冊
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯