摘要:酷庫,每天兩分鐘,了解一個(gè)流行庫。今天我們來了解一個(gè)專門用來處理地址的庫,庫能夠獲取本機(jī)地址比較轉(zhuǎn)換掩碼子網(wǎng)計(jì)算等各種和網(wǎng)絡(luò)相關(guān)的操作獲取本機(jī)網(wǎng)卡比較兩個(gè)是否相同表示格式互轉(zhuǎn)判斷是否是內(nèi)網(wǎng)判斷版本掩碼計(jì)算子網(wǎng)計(jì)算子網(wǎng)范圍判斷參考資料
NPM酷庫,每天兩分鐘,了解一個(gè)流行NPM庫?!?/p>
今天我們來了解一個(gè)專門用來處理IP地址的庫:ip,ip庫能夠獲取本機(jī)IP地址、比較、轉(zhuǎn)換、掩碼/子網(wǎng)計(jì)算等各種和網(wǎng)絡(luò)IP相關(guān)的操作:
const ip = require("ip"); // 獲取本機(jī)網(wǎng)卡IP ip.address(); // 比較兩個(gè)IP是否相同 ip.isEqual("::1", "::0:1"); // true // IP 表示格式互轉(zhuǎn) ip.toBuffer("127.0.0.1") // Buffer([127, 0, 0, 1]) ip.toString(new Buffer([127, 0, 0, 1])) // 127.0.0.1 ip.toLong("127.0.0.1"); // 2130706433 ip.fromLong(2130706433); // "127.0.0.1" // 判斷是否是內(nèi)網(wǎng)IP ip.isPrivate("127.0.0.1") // true // 判斷IP版本 ip.isV4Format("127.0.0.1"); // true ip.isV6Format("::ffff:127.0.0.1"); // true // 掩碼計(jì)算 ip.fromPrefixLen(24) // 255.255.255.0 ip.mask("192.168.1.134", "255.255.255.0") // 192.168.1.0 ip.cidr("192.168.1.134/26") // 192.168.1.128 ip.not("255.255.255.0") // 0.0.0.255 ip.or("192.168.1.134", "0.0.0.255") // 192.168.1.255 // 子網(wǎng)計(jì)算 ip.subnet("192.168.1.134", "255.255.255.192"); // { networkAddress: "192.168.1.128", // firstAddress: "192.168.1.129", // lastAddress: "192.168.1.190", // broadcastAddress: "192.168.1.191", // subnetMask: "255.255.255.192", // subnetMaskLength: 26, // numHosts: 62, // length: 64, // contains: function(addr){...} } // 子網(wǎng)范圍判斷 ip.cidrSubnet("192.168.1.134/26").contains("192.168.1.190") // true參考資料
https://github.com/indutny/no...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/107326.html
摘要:酷庫,每天兩分鐘,了解一個(gè)流行庫。昨天我們了解到庫用來做地址計(jì)算處理,在脈沖云的集群管理中,我們使用了另外一個(gè)和網(wǎng)絡(luò)地址相關(guān)的庫,用來計(jì)算網(wǎng)絡(luò)掩碼。通過,我們可以獲取一個(gè)子網(wǎng)段的網(wǎng)絡(luò)掩碼子網(wǎng)起始和結(jié)束,還可以判斷一個(gè)是否屬于該子網(wǎng)。 showImg(https://segmentfault.com/img/bV3yCG?w=640&h=480); NPM酷庫,每天兩分鐘,了解一個(gè)流行N...
摘要:酷庫,每天兩分鐘,了解一個(gè)流行庫。昨天,我們學(xué)習(xí)的庫,用于解析命令行參數(shù),能將參數(shù)數(shù)組轉(zhuǎn)換為一個(gè)更易于訪問的對象。今天,我們繼續(xù)學(xué)習(xí)一個(gè)更加強(qiáng)大的命令行參數(shù)處理庫。 NPM酷庫,每天兩分鐘,了解一個(gè)流行NPM庫。 昨天,我們學(xué)習(xí)的minimist庫,用于解析Node.js命令行參數(shù),能將參數(shù)數(shù)組process.env.argv 轉(zhuǎn)換為一個(gè)更易于訪問的對象。 今天,我們繼續(xù)學(xué)習(xí)一個(gè)更加強(qiáng)...
摘要:酷庫,每天兩分鐘,了解一個(gè)流行庫。庫是一個(gè)非常出色的異步控制庫,除了函數(shù)外,還提供了大量的其他工具函數(shù),在當(dāng)年沒有的時(shí)候,庫的作用尤為突出。 NPM酷庫,每天兩分鐘,了解一個(gè)流行NPM庫。 今天要了解的庫叫async,與ES7標(biāo)準(zhǔn)的async/await關(guān)鍵字不同,這里說的async只是NPM的一個(gè)庫,為了區(qū)別,下文中今天的主角叫async庫,async/await的關(guān)鍵字叫async...
摘要:酷庫,每天兩分鐘,了解一個(gè)流行庫。是一個(gè)用來輔助處理多語言的庫,可以支持在字符串中輸出變量,還可以支持復(fù)數(shù)形式。使用的是消息語法,支持名詞復(fù)數(shù)和選擇語法。 showImg(https://segmentfault.com/img/bV3yDo?w=1200&h=675); NPM酷庫,每天兩分鐘,了解一個(gè)流行NPM庫?!?在開發(fā)多國語言的項(xiàng)目時(shí),為了給不同國家用戶顯示不同語言,我們一般...
摘要:酷庫,每天兩分鐘,了解一個(gè)流行庫。上次,我們介紹了使用庫將時(shí)間對象格式化為任意規(guī)則字符串,在實(shí)際開發(fā)中,我們不僅僅需要格式化時(shí)間。是專門用來處理時(shí)間的庫,可以用來格式化驗(yàn)證比較計(jì)算解析時(shí)間。 NPM酷庫,每天兩分鐘,了解一個(gè)流行NPM庫。· 上次,我們介紹了使用 dateformat 庫將時(shí)間對象格式化為任意規(guī)則字符串,在實(shí)際開發(fā)中,我們不僅僅需要格式化時(shí)間。 moment momen...
閱讀 2224·2019-08-30 15:54
閱讀 1960·2019-08-30 13:49
閱讀 678·2019-08-29 18:44
閱讀 833·2019-08-29 18:39
閱讀 1116·2019-08-29 15:40
閱讀 1538·2019-08-29 12:56
閱讀 3151·2019-08-26 11:39
閱讀 3104·2019-08-26 11:37