這個模塊提供了 URL 解析和解釋的工具。通過require('url')使用它。
解釋 URL 為一個含有以下部分或全部屬性的對象,依賴于它們是否在 URL 字符串中存在。任何不存在的部分都不會出現(xiàn)在解釋后的對象中。一個下面 URL 的例子:
'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'
例子: 'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'
例子: 'http:'
例子: true 或 false
例子: 'host.com:8080'
例子: 'user:pass'
例子: 'host.com'
例子: '8080'
例子: '/p/a/t/h'
例子: '?query=string'
例子: '/p/a/t/h?query=string'
例子: 'query=string' 或 {'query':'string'}
例子: '#hash'
以下是 URL 模塊提供的方法:
接收一個 URL 字符串,然后返回一個對象。
對第二個參數(shù)傳遞true,將使用querystring模塊來解釋查詢字符串。如果為true,那么最后的對象中一定存在query屬性,并且search屬性將總是一個字符串(可能為空)。如果為false,那么query屬性將不會被解釋或解碼。默認為false。
對第三個參數(shù)傳遞true,將會把//foo/bar解釋為{ host: 'foo', pathname: '/bar' },而不是{ pathname: '//foo/bar' }。默認為false。
接受一個解釋完畢的 URL 對象,返回格式化 URL 字符串。
以下是格式化過程:
href將會被忽略。path將會被忽略。://。:。:// ,slashes會被設(shè)置為true
mongodb://localhost:8000/。auth會被使用,如果存在的話。host時,才會使用hostname。host時,才會使用port。host將會替代hostname和port。pathname都會被相同對待。search時,才會使用query(對象;參閱querystring)。search將會替代query
hash都會被相同對待。接受一個基礎(chǔ) URL,和一個路徑 URL,并且?guī)襄^點像瀏覽器一樣解析他們。例子:
url.resolve('/one/two/three', 'four') // '/one/two/four'
url.resolve('http://example.com/', '/one') // 'http://example.com/one'
url.resolve('http://example.com/one', '/two') // 'http://example.com/two'