模組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
11const {
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
1UrlObject url.URL;
靜態函數
format
參數構造UrlObject物件
1static String url.format(Object args);
呼叫參數:
- args: Object, 指定建構參數的字典對象,支援的欄位有:protocol, slashes, username, password, hostname, port, pathname, query,hash
回傳結果:
- String, 返回構造成功的字串
parse
解析一個url 字串
1
2
3static 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
2static String url.resolve(String _from,
String to);
呼叫參數:
- _from: String, 來源路徑
- to: String, 相對路徑
回傳結果:
- String, 返回得到的絕對路徑
fileURLToPath
將一個url 物件轉換為跨平台相關的絕對路徑
1static String url.fileURLToPath(UrlObject url);
呼叫參數:
- url:UrlObject, 指定需要轉換的url 對象
回傳結果:
- String, 返回轉換後的絕對路徑
將一個url 字串轉換為跨平台相關的絕對路徑
1static String url.fileURLToPath(String url);
呼叫參數:
- url: String, 指定需要轉換的url 字串
回傳結果:
- String, 返回轉換後的絕對路徑
pathToFileURL
將一個跨平台相關的絕對路徑轉換為url 對象
1static UrlObject url.pathToFileURL(String path);
呼叫參數:
- path: String, 指定需要轉換的絕對路徑
回傳結果:
- UrlObject, 回傳轉換後的url 對象