minimist: Node.js 中收集命令行參數(shù)的工具庫(kù)

minimist是 Node.js 環(huán)境, 用來(lái)收集命令行參數(shù)的一個(gè)工具庫(kù)。
process.argv
我們都知道,命令行參數(shù)可以通過(guò)process.argv.slice(2)來(lái)獲得,不過(guò)很難使用。我們可以試驗(yàn)看下效果,創(chuàng)建文件parse.js:
執(zhí)行:
可以看見(jiàn),process.argv.slice(2)只是如實(shí)的將指令參數(shù)打印出來(lái),并沒(méi)有做任何處理,就是一個(gè)裸露的參數(shù)列表,這很不利于開(kāi)發(fā)。
而minimist就是幫我們格式化這些命令行參數(shù)的。
使用minimist
安裝minimist:
$ pnpm install minimist
修改parse.js:
執(zhí)行:
你肯定好奇這里的_是用來(lái)保存什么的?它是一個(gè)數(shù)組。不急,我們?cè)倏匆粋€(gè)例子。
這樣應(yīng)該就明白了吧。foo、bar、baz這些參數(shù)都是沒(méi)有關(guān)聯(lián)選項(xiàng)的——argv._就是用來(lái)存放這些沒(méi)有關(guān)聯(lián)選項(xiàng)參數(shù)的。
不過(guò)minimist有一點(diǎn)特殊,會(huì)把數(shù)字字符串轉(zhuǎn)換成數(shù)值。這通??赡懿皇俏覀兿胍慕Y(jié)果:
字符串化參數(shù)
我們可以通過(guò)第二個(gè)選項(xiàng)參數(shù)opts的.string屬性指定參數(shù)始終作為字符串處理:
執(zhí)行:
opts.string數(shù)組類(lèi)型值
.string屬性還支持傳入數(shù)組,同時(shí)指定多個(gè)要字符串化的參數(shù):
執(zhí)行:
以上就是關(guān)于 minimist 所有基礎(chǔ)使用的內(nèi)容講解,如果還想進(jìn)一步深入了解,可以訪問(wèn)這個(gè)鏈接(https://github.com/minimistjs/minimist#readme)學(xué)習(xí)。