Module 基礎模組

模組url

url 處理模組,url 模組提供了Url 類,用於處理URL 相關的操作,包括解析、組裝、拼接等

Url 類別的常用屬性和方法如下:

屬性:

  • href:傳回完整的URL 字串。
  • protocol:URL 的協議部分。
  • host:URL 的主機部分。
  • auth:URL 的認證部分。
  • hostname:URL 的主機名稱部分。
  • port:URL 的連接埠部分。
  • pathname:URL 的路徑部分。
  • search:URL 的查詢參數字串。
  • hash:URL 的hash部分。

方法:

  • resolve(from, to):將解析to(或to 與from 的組合)為絕對URL,並傳回解析後的URL 物件。
  • parse(urlString):將URL 字串解析為URL 物件並傳回該物件。
  • format(urlObject):將URL 物件格式化為URL 字串並傳回。

下面是一個url 模組的範例:

1 2 3 4 5 6 7 8 9 10 11
const { URL } = require('url'); const url = new URL('http://www.baidu.com/s?ie=UTF-8&wd=fibjs#hash'); console.log(url.protocol); // 'http:' console.log(url.host); // 'www.baidu.com' console.log(url.path); // '/s?ie=UTF-8&wd=fibjs' console.log(url.hash); // '#hash' console.log(url.href); // 'http://www.baidu.com/s?ie=UTF-8&wd=fibjs&query=fibjs#hash'

在這個例子中,我們示範如何使用url 模組來解析url 字串,再重新組裝成新的url 字串。

物件

URL

創建一個UrlObject請求對象,參見UrlObject

1
UrlObject url.URL;

靜態函數

format

參數構造UrlObject物件

1
static String url.format(Object args);

呼叫參數:

  • args: Object, 指定建構參數的字典對象,支援的欄位有:protocol, slashes, username, password, hostname, port, pathname, query,hash

回傳結果:

  • String, 返回構造成功的字串

parse

解析一個url 字串

1 2 3
static UrlObject url.parse(String url, Boolean parseQueryString = false, Boolean slashesDenoteHost = false);

呼叫參數:

  • url: String, 指定需要解析的url 字串
  • parseQueryString: Boolean, 指定是否解析query
  • slashesDenoteHost: Boolean, 預設為false, 如果設定為true,則從字串'//'之後到下一個'/'之前的字串會被解析為host,例如'//foo/bar', 結果應該是{ host: 'foo', pathname: '/bar'}而非{pathname: '//foo/bar'}

回傳結果:

  • UrlObject, 傳回包含解析資料的對象

resolve

合併相對路徑成為絕對路徑

1 2
static String url.resolve(String _from, String to);

呼叫參數:

  • _from: String, 來源路徑
  • to: String, 相對路徑

回傳結果:

  • String, 返回得到的絕對路徑

fileURLToPath

將一個url 物件轉換為跨平台相關的絕對路徑

1
static String url.fileURLToPath(UrlObject url);

呼叫參數:

  • url:UrlObject, 指定需要轉換的url 對象

回傳結果:

  • String, 返回轉換後的絕對路徑

將一個url 字串轉換為跨平台相關的絕對路徑

1
static String url.fileURLToPath(String url);

呼叫參數:

  • url: String, 指定需要轉換的url 字串

回傳結果:

  • String, 返回轉換後的絕對路徑

pathToFileURL

將一個跨平台相關的絕對路徑轉換為url 對象

1
static UrlObject url.pathToFileURL(String path);

呼叫參數:

  • path: String, 指定需要轉換的絕對路徑

回傳結果: