您好,登錄后才能下訂單哦!
這篇文章主要介紹了nodejs中url模塊怎么使用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇nodejs中url模塊怎么使用文章都會有所收獲,下面我們一起來看看吧。
在nodejs中,URL模塊是用于處理和解析URL的,該模塊提供了三個方法,分別是:1、parse方法用于將url解析成對象;2、format方法用于將對象轉換成url字符串;3、resolve方法用于拼接URL。
本文操作環境:Windows10系統、nodejs 12.19.0版、Dell G3電腦。
URL模塊用于解析和處理URL字符串,提供了三個方法:
將url解析成對象,parse方法原型:
url.parse(urlStr[, parseQueryString][, slashesDenoteHost])
可傳遞三個參數,第一個必須
urlStr:要解析成對象的url字符串
parseQueryString:是否解析查詢參數,默認為false
slashesDenoteHost:是否以斜線解析主機名,默認為false
只給第一個參數:
var url = require('url'); var testUrl1 = 'z.qingk.cn/information-info/tengzhou/e75bab8405254b04b2fab0a9f54e4838/dbvbotovboussowbwssvossdqaxqssxw/7519fbc4d85ea4c3589d8d751c507222/b011a8c5bbab4050953cb722bccb5095?param1=111¶m2=222' var urlParseUrl1 = url.parse(testUrl1) console.log(urlParseUrl1);
結果:
第二個參數設為true
也就是說要同時把url中?之后的查詢參數解析成對象
var url = require('url'); var testUrl1 = 'z.qingk.cn/information-info/tengzhou/e75bab8405254b04b2fab0a9f54e4838/dbvbotovboussowbwssvossdqaxqssxw/7519fbc4d85ea4c3589d8d751c507222/b011a8c5bbab4050953cb722bccb5095?param1=111¶m2=222' var urlParseUrl1 = url.parse(testUrl1); console.log(urlParseUrl1); var urlParseUrl2 = url.parse(testUrl1,true); console.info(urlParseUrl2);
結果:
第三個參數設置為true
也就是當不知道url協議時,以//為依據識別host
var testUrl2 = '//z.qingk.cn/information-info/tengzhou/e75bab8405254b04b2fab0a9f54e4838/dbvbotovboussowbwssvossdqaxqssxw/7519fbc4d85ea4c3589d8d751c507222/b011a8c5bbab4050953cb722bccb5095?param1=111¶m2=222'; var urlParseUrl3 = url.parse(testUrl2,false,false); console.info(urlParseUrl3); var urlParseUrl4 = url.parse(testUrl2,false,true); console.info(urlParseUrl4);
結果:
format就是parse的返過程,把對象轉換成url字符串
var testObj1 = { protocol: null, slashes: true, auth: null, host: 'z.qingk.cn', port: null, hostname: 'z.qingk.cn', hash: null, search: '?param1=111¶m2=222', query: 'param1=111¶m2=222', pathname: '/information-info/tengzhou/e75bab8405254b04b2fab0a9f54e4838/dbvbotovboussowbwssvossdqaxqssxw/7519fbc4d85ea4c3589d8d751c507222/b011a8c5bbab4050953cb722bccb5095', path: '/information-info/tengzhou/e75bab8405254b04b2fab0a9f54e4838/dbvbotovboussowbwssvossdqaxqssxw/7519fbc4d85ea4c3589d8d751c507222/b011a8c5bbab4050953cb722bccb5095?param1=111¶m2=222', href: '//z.qingk.cn/information-info/tengzhou/e75bab8405254b04b2fab0a9f54e4838/dbvbotovboussowbwssvossdqaxqssxw/7519fbc4d85ea4c3589d8d751c507222/b011a8c5bbab4050953cb722bccb5095?param1=111¶m2=222' }; var rsUrl = url.format(testObj1); console.info(rsUrl)
結果:
//z.qingk.cn/information-info/tengzhou/e75bab8405254b04b2fab0a9f54e4838/dbvbotovboussowbwssvossdqaxqssxw/7519fbc4d85ea4c3589d8d751c507222/b011a8c5bbab4050953cb722bccb5095?param1=111¶m2=222
parse中每一種形式的url所生成的結果,format都可以進行逆過程的轉換。
返回從根目錄指定到當前目錄的絕對路徑url。返回結果去除參數和錨點,返回結果標準url路徑格式
var url=require('url'); //指定相對路徑 var url1=url.resolve('http://qingk.cn/one/two/three','four'); console.log(url1); //http://qingk.cn/one/two/four //指定根目錄的相對路徑 var url3=url.resolve('http://qingk.cn/one/two/three','/four'); console.log(url3); //http://qingk.cn/four //帶參數的相對路徑 var url2=url.resolve('http://qingk.cn/one/two/three?name=zhangsan','four'); console.log(url2); //http://qingk.cn/one/two/four //非標準分隔符的原路徑 var url4=url.resolve('http://qingk.cn\\one#name1','/four'); console.log(url4);//http://qingk.cn/four //非標準分隔符的相對路徑 var url5=url.resolve('http://qingk.cn/one','\\two\\three'); console.log(url5);//http://qingk.cn/two/three
關于“nodejs中url模塊怎么使用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“nodejs中url模塊怎么使用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。