成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

NPM酷庫(kù):minimist,命令行參數(shù)解析

eternalshallow / 2034人閱讀

摘要:酷庫(kù),每天兩分鐘,了解一個(gè)流行庫(kù)。昨天我們了解的庫(kù)用于從文件中加載環(huán)境變量。雖然從中可以得到啟動(dòng)參數(shù)列表,但是我們?nèi)孕枰獙?duì)參數(shù)進(jìn)行進(jìn)一步解析處理才行。

NPM酷庫(kù),每天兩分鐘,了解一個(gè)流行NPM庫(kù)。

昨天我們了解的dotenv庫(kù)用于從文件中加載環(huán)境變量。環(huán)境變量用于程序運(yùn)行時(shí)動(dòng)態(tài)加載參數(shù),除了環(huán)境變量,我們還可以在啟動(dòng)Node.js 程序時(shí)直接指定命令行參數(shù):

node index.js --beep=boop -t -z 12 -n5 foo bar 

Node.js 程序啟動(dòng)后可以直接從process.argv中讀取到參數(shù)列表:

console.log(process.argv);
// ["/bin/node", "/tmp/index.js", "--beep=boop", "-t", "-z", "12", "-n5", "foo", "bar"]

從上述代碼中可以看到,process.argv 變量是一個(gè)數(shù)組,數(shù)組前兩項(xiàng)分別是 node 程序位置和js腳本位置,數(shù)組中隨后的元素都是我們啟動(dòng)Node.js后的參數(shù),這些參數(shù)以空格分隔成數(shù)組。

雖然從 process.argv 中可以得到啟動(dòng)參數(shù)列表,但是我們?nèi)孕枰獙?duì)參數(shù)進(jìn)行進(jìn)一步解析處理才行。

minimist

minimist 是一個(gè)專門用于處理Node.js啟動(dòng)參數(shù)的庫(kù),可以將 process.argv 中的參數(shù)列表轉(zhuǎn)換成更加易于使用的格式:

const argv = require("minimist")(process.argv.slice(2));
console.dir(argv);
// { _: [ "foo", "bar" ], beep: "boop", t: true, z: 12, n: 5 }

經(jīng)過(guò) minimist 解析的process.argv是一個(gè)對(duì)象,例如,我們可以直接從訪問(wèn) argv.beep 得到 --beep=boop 參數(shù)的值。

參考資料

https://github.com/substack/m...

歡迎關(guān)注公眾號(hào):梁興臣

每天了解一個(gè)NPM庫(kù),一年后成為Node.js高手

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/92497.html

相關(guān)文章

  • NPM酷庫(kù):commander,命令參數(shù)處理框架

    摘要:酷庫(kù),每天兩分鐘,了解一個(gè)流行庫(kù)。昨天,我們學(xué)習(xí)的庫(kù),用于解析命令行參數(shù),能將參數(shù)數(shù)組轉(zhuǎn)換為一個(gè)更易于訪問(wèn)的對(duì)象。今天,我們繼續(xù)學(xué)習(xí)一個(gè)更加強(qiáng)大的命令行參數(shù)處理庫(kù)。 NPM酷庫(kù),每天兩分鐘,了解一個(gè)流行NPM庫(kù)。 昨天,我們學(xué)習(xí)的minimist庫(kù),用于解析Node.js命令行參數(shù),能將參數(shù)數(shù)組process.env.argv 轉(zhuǎn)換為一個(gè)更易于訪問(wèn)的對(duì)象。 今天,我們繼續(xù)學(xué)習(xí)一個(gè)更加強(qiáng)...

    dendoink 評(píng)論0 收藏0
  • 從 1 到完美,用 node 寫(xiě)一個(gè)命令工具

    摘要:從到完美,用寫(xiě)一個(gè)命令行工具中的字段現(xiàn)在,不管是前端項(xiàng)目還是項(xiàng)目,一般都會(huì)用做包管理工具,而是其相關(guān)的配置信息。又一個(gè)讓命令行與用戶進(jìn)行交互的工具與功能差不多。比較常用的命令行命令行相關(guān)的應(yīng)用就很多啦,比如等,但這些不僅僅是命令行工具。 從 1 到完美,用 node 寫(xiě)一個(gè)命令行工具 1. package.json 中的 bin 字段 現(xiàn)在,不管是前端項(xiàng)目還是 node 項(xiàng)目,一般都會(huì)...

    YorkChen 評(píng)論0 收藏0
  • gulp自動(dòng)化打包(上)

    摘要:自動(dòng)化打包上文章概述本文分為上下兩篇,上篇主要介紹一些常用的插件也是此次打包主要用的插件,而下篇主要以一個(gè)項(xiàng)目為例,從本地出合適的版本,壓縮合并到最后打成包,發(fā)送至指定目錄,做一個(gè)全面的演示。 gulp自動(dòng)化打包(上) 文章概述 本文分為上下兩篇,上篇主要介紹一些常用的gulp插件(也是此次打包主要用的gulp插件),而下篇主要以一個(gè)demo項(xiàng)目為例,從本地checkout出合適的g...

    roland_reed 評(píng)論0 收藏0
  • 通用、封裝、簡(jiǎn)化 webpack 配置

    摘要:通用封裝簡(jiǎn)化配置現(xiàn)在,基本上前端的項(xiàng)目打包都會(huì)用上,因?yàn)樘峁┝藷o(wú)與倫比強(qiáng)大的功能和生態(tài)。簡(jiǎn)化配置的一種方式是使用社區(qū)封裝好的庫(kù),比如。封裝了的一些基礎(chǔ)配置,然后暴露一些額外配置的接口,并附加本地?cái)?shù)據(jù)模擬功能,詳情可以參考主頁(yè)。 通用、封裝、簡(jiǎn)化 webpack 配置 現(xiàn)在,基本上前端的項(xiàng)目打包都會(huì)用上 webpack,因?yàn)?webpack 提供了無(wú)與倫比強(qiáng)大的功能和生態(tài)。但在創(chuàng)建一個(gè)項(xiàng)...

    PingCAP 評(píng)論0 收藏0
  • NPM酷庫(kù)052:sax,按流解析XML

    摘要:酷庫(kù),每天兩分鐘,了解一個(gè)流行庫(kù)。在酷庫(kù)中,我們學(xué)習(xí)了如何使用庫(kù)將格式文檔字符串解析為的對(duì)象數(shù)據(jù),本期,我們繼續(xù)學(xué)習(xí),一個(gè)可以以流編程的方式解析。 NPM酷庫(kù),每天兩分鐘,了解一個(gè)流行NPM庫(kù)。· 在NPM酷庫(kù)051中,我們學(xué)習(xí)了如何使用xml2js庫(kù)將XML格式文檔字符串解析為JavaScript的對(duì)象數(shù)據(jù),本期,我們繼續(xù)學(xué)習(xí)sax,一個(gè)可以以流編程的方式解析XML。 使用流編程的方...

    pinecone 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<