1. 程式人生 > >Nodejs的url模組方法

Nodejs的url模組方法

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屬性為一個物件 */

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'
*/

url.resolve(from,to)

  resolve這個方法返回一個格式為"from/to"的字串,在寶寶看來是對傳入的兩個引數用"/"符號進行拼接,並返回

例子4,url.resolve

url.resolve("http://whitemu.com","gulu");
/*
返回值:
'http://whitemu.com/gulu'
*/