最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

前端必會(huì)的nodejs知識(shí)工具模塊使用示例詳解

 更新時(shí)間:2022年10月14日 10:23:35   作者:暴走的比卡丘  
這篇文章主要為大家介紹了前端必會(huì)的nodejs知識(shí)工具模塊使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

Util

nodejs中有許多在框架中常用而我們又不知道的工具模塊,本文介紹下這幾個(gè)工具模塊,算是自己的一個(gè)知識(shí)回顧吧。

Node.js 的工具模塊

常用的判斷屬性,在util.types對(duì)象

  • isDate:判斷是否是日期格式的變量
  • isAnyArrayBuffer:判斷是否是buffer
  • isAsyncFunction:判斷函數(shù)是否是異步的
let util = require('util');
// types: 判斷變量/函數(shù)的一些類型
const {isAnyArrayBuffer,isAsyncFunction,isDate} = util.types
// isDate
const is_date = isDate(new Date())
const is_date2 = isDate('2022-09-01')
console.log('is_date2: ', is_date2);
console.log('is_date: ', is_date);
// isAnyArrayBuffer
const isBuff1 = isAnyArrayBuffer('buffer')
console.log('isBuff1: ', isBuff1);
const isBuff2 = isAnyArrayBuffer(new ArrayBuffer(14))
console.log('isBuff2: ', isBuff2);
// isAsyncFunction
const f2 = async function function2(){} 
const f1 = function function1(){} 
const isAsyncFunc = isAsyncFunction(f1)
const isAsyncFunc2 = isAsyncFunction(f2)
console.log('isAsyncFunc2: ', isAsyncFunc2);
console.log('isAsyncFunc: ', isAsyncFunc);

常用的方法和屬性

  • format:格式化字符串
  • inspect: 將對(duì)象轉(zhuǎn)為字符串
  • isDeepStrictEqual:判斷兩個(gè)字符是否強(qiáng)相等,相當(dāng)于===
  • deprecate:將函數(shù)包裝為棄用
// inspect
const obj = {name:'inspect',date:'2022-09-01'}
const str = util.inspect(obj)
console.log('str: ', str);
// 格式化字符串util.format(arg1,arg2,arg3,arg4)
const str2 = util.format('%s:%s','12','34','56')
console.log('str2: ', str2);
// deprecate
util.deprecate(()=>{
    console.log('this is a deprecate func')
})
// isDeepStrictEqual 
const v1 = '2'
const v2 = 2;
const isEqual = util.isDeepStrictEqual(v1,v2)
console.log('isEqual: ', isEqual);
console.log(v1 == v2);
console.log(v1 === v2);

DNS

Node.js DNS 模塊用于解析域名

  • DNS(Domain Name System): 域名系統(tǒng)、
    • 組成:他是由解析器和域名服務(wù)器組成
    • 作用:域名解析,將域名轉(zhuǎn)換成IP地址,將IP地址轉(zhuǎn)換成域名列表

nodejs中DNS支持域名和對(duì)應(yīng)IP地址的相互解析,主要代碼如下:

let dns = require("dns");
//lookup(底層系統(tǒng)工具進(jìn)行):將域名(比如 'runoob.com')解析為第一條找到的記錄 A (IPV4)或 AAAA(IPV6)。
const hostname = "www.runoob.com";
dns.lookup(hostname, function (err, address, famliy) {
  if (!err) {
    console.log(hostname + "綁定的IP地址為:" + address);
  }
});
//lookupService:實(shí)現(xiàn)給定的ip地址和端口號(hào),解析為對(duì)應(yīng)的域名
dns.lookupService("104.20.23.46", 80, (err, hostname, service) => {
  if (err) {
    console.log(err);
  }
  console.log("主機(jī):" + hostname);
  console.log("協(xié)議:" + service);
});
//resolve:使用網(wǎng)絡(luò)域名系統(tǒng)
dns.resolve("nodejs.org", (err, address) => {
  if (err) {
    return;
  }
  console.log('resolve address: ', address);
});
// reverse:反向解析 IP 地址,指向該 IP 地址的域名數(shù)組。
const ip = "192.30.252.130";
dns.reverse(ip, function (err, hostnames) {
  if (!err) {
    console.log(ip + "IP綁定的語言數(shù)組為:" + hostnames);
  } else {
    console.log(err);
  }
});
// 返回當(dāng)前正在使用的ip地址
const servers = dns.getServers();
console.log("current server ip address: ", servers);

OS

Node.js OS 模塊提供了一些基本系統(tǒng)操作函數(shù)

常用的方法和屬性

  • networkInterfaces獲取網(wǎng)絡(luò)信息
  • cpus:獲取系統(tǒng)的CPU內(nèi)核細(xì)膩,返回個(gè)數(shù)組
  • totalmem:系統(tǒng)總共內(nèi)存容量
  • freemem:系統(tǒng)空余內(nèi)存變量
  • hostname:系統(tǒng)主機(jī)名
  • version: 系統(tǒng)內(nèi)核版本的字符串
    const os =require('os');
    console.log('系統(tǒng)所有內(nèi)存變量為(單位M):',os.totalmem()/1024/1024);
    console.log('系統(tǒng)空余內(nèi)存變量為(單位M):',os.freemem()/1024/1024);
    console.log('系統(tǒng)主機(jī)名:',os.hostname());
    console.log('系統(tǒng)主機(jī)內(nèi)核版本:',os.version());
  • platform: 主機(jī)操作系統(tǒng)平攤
  • type: 主機(jī)的操作系統(tǒng)平臺(tái)名稱,可能的值為'aix'、'darwin'、'freebsd'、'linux'、'openbsd'、'sunos'、以及 'win32'。
  • uptime: 操作系統(tǒng)正常運(yùn)行時(shí)間
console.log('主機(jī)的平臺(tái):',os.platform());
console.log('主機(jī)的平臺(tái)名稱:',os.type());
console.log('主機(jī)的x正常運(yùn)行時(shí)間:',os.uptime()/3600/24);

Path

nodejs用來處理文件路徑的工具模塊,主要處理絕對(duì)路徑,相對(duì)路徑

常用的方法和屬性

const path = require('path')
//屬性- 平臺(tái)路徑的分隔符
const sep =path.sep;
console.log('sep: ', sep);
//屬性- 分隔符獲取
const delimiter = path.delimiter;
console.log('delimiter: ', delimiter);
//屬性- 提供上述 path 的方法,不過總是以 win32 兼容的方式交互。
const win32 = path.win32;
// console.log('win32: ', win32);
// resolve參數(shù)解析為絕對(duì)路徑
const r1 = path.resolve(__dirname,'../');
console.log('r1: ', r1);
// join參數(shù)拼接為一個(gè)路徑
const j1 = path.join(r1,'http/app.js')
console.log('j1: ', j1);
// path.relative(from, to)用于將絕對(duì)路徑轉(zhuǎn)為相對(duì)路徑,返回從 from 到 to 的相對(duì)路徑(基于當(dāng)前工作目錄)
const r2 = path.relative(j1,'http/app.js')
console.log('rl: ', r2);
// isAbsolute判斷是否是絕對(duì)路徑
const isAbs1 = path.isAbsolute(r2)
console.log('isAbs1: ', isAbs1);
const isAbs2 = path.isAbsolute(j1)
console.log('isAbs2: ', isAbs2);
// path.dirname(p):返回路徑中代表文件夾的部分,同 Unix 的dirname 命令類似。
const dir = path.dirname(j1)
console.log('dir: ', dir);
// path.basename:返回路徑中的最后一部分。同 Unix 命令 bashname 類似。
const basename = path.basename(j1)
console.log('basename: ', basename);
// path.extname(p): 返回路徑中文件的后綴名,即路徑中最后一個(gè)'.'之后(包含'.')的部分。如果一個(gè)路徑中并不包含'.'或該路徑只包含一個(gè)'.' 且這個(gè)'.'為路徑的第一個(gè)字符,則此命令返回空字符串。
const extname = path.extname(j1);
console.log('extname: ', extname);
// path.parse(pathString):返回路徑字符串的對(duì)象,與path.format相反。
const pathObj = path.parse('D:\\demo\\demo\\nodejs\\http\\app.js')
console.log('pathObj: ', pathObj);
// path.format(pathObject):從對(duì)象中返回路徑字符串,和 path.parse 相反。
const pathStr = path.format(pathObj)
console.log('pathStr: ', pathStr);

總結(jié)

nodejs中的util path os dns是我們開發(fā)web服務(wù)會(huì)常用的幾個(gè)模塊,再次做一了解很有必要。

以上就是前端必會(huì)的nodejs知識(shí)工具模塊使用示例詳解的詳細(xì)內(nèi)容,更多關(guān)于前端nodejs工具模塊的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解node中創(chuàng)建服務(wù)進(jìn)程

    詳解node中創(chuàng)建服務(wù)進(jìn)程

    本篇文章主要介紹了詳解node中創(chuàng)建服務(wù)進(jìn)程,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • nodejs基礎(chǔ)之多進(jìn)程實(shí)例詳解

    nodejs基礎(chǔ)之多進(jìn)程實(shí)例詳解

    這篇文章主要介紹了nodejs基礎(chǔ)之多進(jìn)程,結(jié)合實(shí)例形式分析了nodejs多進(jìn)程的概念、原理、相關(guān)函數(shù)使用方法及操作注意事項(xiàng),需要的朋友可以參考下
    2018-12-12
  • Node.js開發(fā)靜態(tài)資源服務(wù)器

    Node.js開發(fā)靜態(tài)資源服務(wù)器

    這篇文章主要為大家介紹了Node.js開發(fā)靜態(tài)資源服務(wù)器示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Node.js實(shí)現(xiàn)讀取Excel數(shù)據(jù)并插入MySQL

    Node.js實(shí)現(xiàn)讀取Excel數(shù)據(jù)并插入MySQL

    這篇文章主要為大家詳細(xì)介紹了Node.js如何實(shí)現(xiàn)讀取Excel數(shù)據(jù)并插入到MySQL數(shù)據(jù)庫中,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • 詳解前端任務(wù)構(gòu)建利器Gulp.js使用指南

    詳解前端任務(wù)構(gòu)建利器Gulp.js使用指南

    這篇文章主要介紹了前端任務(wù)構(gòu)建利器Gulp.js使用指南,對(duì)Gulp.js感興趣的同學(xué),可以參考下
    2021-04-04
  • 利用node.js本地搭建HTTP服務(wù)器

    利用node.js本地搭建HTTP服務(wù)器

    這篇文章主要為大家詳細(xì)介紹了利用node.js本地搭建HTTP服務(wù)器的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • 解決linux下node.js全局模塊找不到的問題

    解決linux下node.js全局模塊找不到的問題

    今天小編就為大家分享一篇解決linux下node.js全局模塊找不到的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 淺談Node.js:Buffer模塊

    淺談Node.js:Buffer模塊

    本篇文章主要介紹了Node.js:Buffer模塊,詳細(xì)的介紹了創(chuàng)建Buffer實(shí)例,具有一定的參考價(jià)值,有需要的可以了解一下。
    2016-12-12
  • 詳解如何在Node.js的httpServer中接收前端發(fā)送的arraybuffer數(shù)據(jù)

    詳解如何在Node.js的httpServer中接收前端發(fā)送的arraybuffer數(shù)據(jù)

    這篇文章主要介紹了詳解如何在Node.js的httpServer中接收前端發(fā)送的arraybuffer數(shù)據(jù),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • node.js快速部署vue代碼詳細(xì)步驟

    node.js快速部署vue代碼詳細(xì)步驟

    眾所周知Vue是現(xiàn)在前端最流行的框架之一,作為前端開發(fā)人員應(yīng)該要熟練的掌握它,下面這篇文章主要給大家介紹了關(guān)于node.js快速部署vue代碼的詳細(xì)步驟,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05

最新評(píng)論

开远市| 西盟| 阜新| 武鸣县| 肃宁县| 思茅市| 五峰| 卢氏县| 德州市| 宽城| 旬邑县| 颍上县| 沈阳市| 宽甸| 合肥市| 汾西县| 镇坪县| 台江县| 安福县| 长寿区| 遵化市| 鹰潭市| 从化市| 涞水县| 永胜县| 丹凤县| 河曲县| 绥阳县| 榆树市| 大庆市| 桐城市| 永登县| 白水县| 南木林县| 夏津县| 重庆市| 泰顺县| 河源市| 迁西县| 镇原县| 多伦县|