溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Node.js中的path、os和url模塊有什么作用

發(fā)布時(shí)間:2021-12-12 19:55:58 來源:億速云 閱讀:255 作者:iii 欄目:web開發(fā)

本篇內(nèi)容介紹了“Node.js中的path、os和url模塊有什么作用”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

Node.js中的path、os和url模塊有什么作用

Node.js中path模塊提供了一些路徑操作的api,os模塊提供了一些操作系統(tǒng)相關(guān)信息的api,url核心模塊為我們提供解析URL地址的api,今天主要對path模塊、os模塊和url模塊的常用api學(xué)習(xí)了解!

1、路徑模塊(path)

提供操作路徑信息api

  • path.extname (獲取路徑信息的擴(kuò)展名)

// 引入 path 模塊
let path = require('path');

// 獲取路徑信息的擴(kuò)展名
let info = path.extname('hello.html')
console.log(info);

Node.js中的path、os和url模塊有什么作用

  • path.resolve (路徑或路徑片段的序列解析為一個(gè)絕對路徑)

//resolve把一個(gè)路徑或路徑片段的序列解析為一個(gè)絕對路徑
let arr = ['/aaa','bbb','ccc']
let info1 = path.resolve(...arr)  //數(shù)組解構(gòu)一下
console.log(info1);

Node.js中的path、os和url模塊有什么作用

  • path.join (使用平臺(tái)特點(diǎn)分隔符將path片段連接,并規(guī)范化生成的路徑)

// join使用平臺(tái)特點(diǎn)分隔符將path片段連接,并規(guī)范化生成的路徑
console.log(__dirname);
let info2 = path.join(__dirname,'aaa','bbb','ccc')
console.log(info2);

Node.js中的path、os和url模塊有什么作用

這里簡單說一下這幾個(gè)的意思:

  • __dirname: 獲得當(dāng)前執(zhí)行文件所在目錄的完整目錄名;

  • __filename: 獲得當(dāng)前執(zhí)行文件帶有完整絕對路徑的文件名;

  • process.cwd(): 獲得當(dāng)前執(zhí)行node命令時(shí)候的文件目錄名;

更多api請查看node官方文檔:http://nodejs.cn/api/path.html

2、系統(tǒng)模塊(os)

提供了一些操作系統(tǒng)相關(guān)信息的api

  • os.cpus() (獲取cpu信息)

  • os.arch() (獲取系統(tǒng)架構(gòu):x32或x64)

  • os.totalmem() (獲取內(nèi)存信息)

  • ......

更多api請查看node官方文檔:http://nodejs.cn/api/os.html

3、url模塊

url 模塊提供用于網(wǎng)址處理和解析的實(shí)用工具。提供了兩套 API 來處理 URL:一個(gè)是舊版本遺留的 API url.parse,url.format(), url.resolve(),一個(gè)是實(shí)現(xiàn)了 WHATWG標(biāo)準(zhǔn)的新 API。建議使用新版本,使用解構(gòu)賦值的方式導(dǎo)入模塊。

  • 舊版

// 舊版
// 引入 url 模塊
let url = require('url');
// 解析(url.parse)
let urlMore = url.parse('http://www.baidu.com?id=1&token=qwerty')  //舊版寫法
console.log(urlMore);

// 合成(url.resolve)
let urlMore2 = url.resolve('http://www.baidu.com','./aaa/ccc')
console.log(urlMore2);

Node.js中的path、os和url模塊有什么作用

  • 新版

// 新版
// 引入 url 模塊
let {URL} = require("url");

// 傳入一個(gè)完整的絕對地址
let urlMore3 = new URL('http://www.baidu.com?id=1&token=qwerty')  //新版寫法
console.log(urlMore3);

// 第一個(gè)參數(shù)傳入相對路徑,第二個(gè)參數(shù)傳入絕對路徑,兩者拼接進(jìn)行分析
let urlMore4 = new URL('./ads/ddd','http://www.baidu.com?')  
console.log(urlMore4);

Node.js中的path、os和url模塊有什么作用

Node.js中的path、os和url模塊有什么作用

參數(shù)解析:

  • hash:獲取及設(shè)置 URL 的片段部分。分配給 hash 屬性的值中包含的無效 URL 字符是百分比編碼的。

  • host:獲取及設(shè)置 URL 的主機(jī)部分。(也就是域名加端口部分)。

  • url.hostname:獲取及設(shè)置 URL 的主機(jī)名部分。 url.hosturl.hostname 之間的區(qū)別是 url.hostname 不包含端口。

  • href:獲取及設(shè)置序列化的 URL。獲取href屬性的值等同于調(diào)用 url.toString()。將此屬性的值設(shè)置為新值等同于使用 new URL(value) 創(chuàng)建新的URL對象。 URL 對象的每個(gè)屬性都將被修改。如果給 href 屬性設(shè)置的值是無效的 URL,則將會(huì)拋出 TypeError

  • origin:包含了協(xié)議的host, 獲取只讀的序列化的 URL 的 origin。

  • port:端口獲取及設(shè)置 URL 的端口部分。端口值可以是數(shù)字或包含 0 到 65535(含)范圍內(nèi)的數(shù)字字符串.端口可以是空字符串的,這時(shí)端口就會(huì)自動(dòng)根據(jù)協(xié)議來選取。

  • protocol:設(shè)置連接協(xié)議, 無效協(xié)議值會(huì)被忽略. 比如http或是https。

  • search:獲取及設(shè)置 URL 的序列化查詢部分。

  • searchParams:獲取表示 URL 查詢參數(shù)的URLSearchParams對象。 該屬性是只讀的。 使用 url.search 設(shè)置來替換 URL 的整個(gè)查詢參數(shù)。

更多api請查看node官方文檔: http://nodejs.cn/api/url.html#urlresolvefrom-to

“Node.js中的path、os和url模塊有什么作用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI