摘要:酷庫(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)一步解析處理才行。
minimistminimist 是一個(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
摘要:酷庫(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)...
摘要:從到完美,用寫(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ì)...
摘要:自動(dòng)化打包上文章概述本文分為上下兩篇,上篇主要介紹一些常用的插件也是此次打包主要用的插件,而下篇主要以一個(gè)項(xiàng)目為例,從本地出合適的版本,壓縮合并到最后打成包,發(fā)送至指定目錄,做一個(gè)全面的演示。 gulp自動(dòng)化打包(上) 文章概述 本文分為上下兩篇,上篇主要介紹一些常用的gulp插件(也是此次打包主要用的gulp插件),而下篇主要以一個(gè)demo項(xiàng)目為例,從本地checkout出合適的g...
摘要:通用封裝簡(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)...
摘要:酷庫(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。 使用流編程的方...
閱讀 1453·2021-09-28 09:44
閱讀 2520·2021-09-28 09:36
閱讀 1190·2021-09-08 09:35
閱讀 1993·2019-08-29 13:50
閱讀 822·2019-08-29 13:29
閱讀 1142·2019-08-29 13:15
閱讀 1735·2019-08-29 13:00
閱讀 3003·2019-08-26 16:16