這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)如何在nodejs項(xiàng)目中使用URL相關(guān)模塊,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、靖安ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的靖安網(wǎng)站制作公司
1.URL 模塊:用于 URL 處理與解析
1)URI 與 URL :
URI,是uniform resource identifier,統(tǒng)一資源標(biāo)識(shí)符,用來(lái)唯一的標(biāo)識(shí)一個(gè)資源。
URL是uniform resource locator,統(tǒng)一資源定位器,它是一種具體的URI,即URL可以用來(lái)標(biāo)識(shí)一個(gè)資源,而且還指明了如何locate(定位)這個(gè)資源。
2)URL模塊中的方法:
① url.format(urlObject)
:將一個(gè) url 對(duì)象轉(zhuǎn)為一個(gè) url字符串
② url.parse(urlString,[Boolean],[Boolean])
:將 url 字符串地址轉(zhuǎn)為一個(gè)對(duì)象
第一個(gè)Boolean
true:則 query 屬性總會(huì)通過(guò) querystring 模塊的 parse() 方法生成一個(gè)對(duì)象。
false:則返回的 URL 對(duì)象上的 query 屬性會(huì)是一個(gè)未解析、未解碼的字符串。
默認(rèn)為 false
第二個(gè)Boolean
true:則 // 之后至下一個(gè) / 之前的字符串會(huì)被解析作為 host。
例如,//foo/bar 會(huì)被解析為 {host: 'foo', pathname: '/bar'}
而不是 {pathname: '//foo/bar'}。
默認(rèn)為 false
③ url.resolve(from,to)
:以一種 Web 瀏覽器解析超鏈接的方式把一個(gè)目標(biāo) URL 解析成相對(duì)于一個(gè)基礎(chǔ) URL。
var url = require('url'); var urlObject = url.parse('https://hao.#/?src=lm&ls=n6624339d99'); console.log(urlObject);
var urlString = url.format({ protocol: 'https:', slashes: true, auth: null, host: 'hao.#', port: null, hostname: 'hao.#', hash: null, search: '?src=lm&ls=n6624339d99', query: 'src=lm&ls=n6624339d99', pathname: '/', path: '/?src=lm&ls=n6624339d99', href: 'https://hao.#/?src=lm&ls=n6624339d99' }) console.log(urlString);
結(jié)果:
Url { protocol: 'https:', slashes: true, auth: null, host: 'hao.#', port: null, hostname: 'hao.#', hash: null, search: '?src=lm&ls=n6624339d99', query: 'src=lm&ls=n6624339d99', pathname: '/', path: '/?src=lm&ls=n6624339d99', href: 'https://hao.#/?src=lm&ls=n6624339d99' }
https://hao.#/?src=lm&ls=n6624339d99 var urlString2 = url.resolve('https://hao.#/','?src=lm&ls=n6624339d99') console.log(urlString) //https://hao.#/?src=lm&ls=n6624339d99
2. querystring 模塊:用于解析與格式化 URL 查詢字符串
應(yīng)用:針對(duì)于大量的參數(shù)傳遞的場(chǎng)景
① querystring.escape(str)
:對(duì)給定的 str 執(zhí)行 URL 百分號(hào)編碼(轉(zhuǎn)譯)。
② querystring.unescape(str)
:對(duì)給定的 str 上的 URL 百分號(hào)編碼的字符執(zhí)行解碼(反轉(zhuǎn)譯)。
③ querystring.parse(str,[sep,[eq,[options]]])
:方法能把一個(gè) URL 查詢字符串(str)解析成一個(gè)鍵值對(duì)的集合。
?str
?sep
?eq
?options
④ querystring.stringify(obj[, sep[, eq[, options]]])
:通過(guò)遍歷對(duì)象的自有屬性,從一個(gè)給定的 obj 產(chǎn)生一個(gè) URL 查詢字符串。
?obj
默認(rèn)為 querystring.escape()
var querystring = require('querystring'); var a = querystring.parse('src=lm&ls=n6624339d99'); console.log(a) // { src: 'lm', ls: 'n6624339d99' }
3. http:計(jì)算機(jī)之間遵循的協(xié)議
上述就是小編為大家分享的如何在nodejs項(xiàng)目中使用URL相關(guān)模塊了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。