Nodejs的url模組方法
阿新 • • 發佈:2018-12-19
nodejs裡面的一個簡單的模組,url模組。這個url的模組要使用的話需要先引入。若只是在命令列裡比如cmd或git bash 等使用url這個模組的話,是不需要require進來的。直接使用便可。(我也不知道為啥不用require)
const這個關鍵字是ES6裡面定義的常量,不可改變。
1 const url = require("url");
url一共提供了三個方法,分別是url.parse(); url.format(); url.resolve();
1 url.parse(urlString,boolean,boolean)
parse這個方法可以將一個url的字串解析並返回一個url的物件
引數:urlString指傳入一個url地址的字串
第二個引數(可省)傳入一個布林值,預設為false,為true時,返回的url物件中,query的屬性為一個物件。
第三個引數(可省)傳入一個布林值,預設為false,為true時,額,我也不知道有什麼不同,可以去看看API。
例子1,url.parse只傳一個引數的情況。
url.parse("http://user:[email protected]:8080/p/a/t/h?query=string#hash");
/*
返回值:
{
protocol: 'http:',
slashes: true,
auth: 'user:pass',
host: 'host.com:8080',
port: '8080',
hostname: 'host.com',
hash: '#hash',
search: '?query=string',
query: 'query=string',
pathname: '/p/a/t/h',
path: '/p/a/t/h?query=string',
href: 'http://user: [email protected]:8080/p/a/t/h?query=string#hash'
}
沒有設定第二個引數為true時,query屬性為一個字串型別
*/
例子2,url.parse第二個引數為true的情況
url.parse("http://user:[email protected]:8080/p/a/t/h?query=string#hash",true);
/*
返回值:
{
protocol: 'http:',
slashes: true,
auth: 'user:pass',
host: 'host.com:8080',
port: '8080',
hostname: 'host.com',
hash: '#hash',
search: '?query=string',
query: { query: 'string' },
pathname: '/p/a/t/h',
path: '/p/a/t/h?query=string',
href: 'http://user: [email protected]:8080/p/a/t/h?query=string#hash'
}
返回的url物件中,query屬性為一個物件
*/
2 url.format(urlObj)
format這個方法是將傳入的url物件程式設計一個url字串並返回
引數:urlObj指一個url物件
例子3,url.format
url.format({
protocol:"http:",
host:"182.163.0:60",
port:"60"
});
/*
返回值:
'http://182.163.0:60'
*/
3 url.resolve(from,to)
resolve這個方法返回一個格式為"from/to"的字串,在寶寶看來是對傳入的兩個引數用"/"符號進行拼接,並返回
例子4,url.resolve
url.resolve("http://whitemu.com","gulu"); /* 返回值: 'http://whitemu.com/gulu' */