URL--該模塊包含用以 URL 解析的實用函數。 使用 require('url')
來調用該模塊。html
1、parse函數的基礎用法node
parse函數的做用是解析url,返回一個json格式的數組,請看以下示例:json
var url = require('url'); url.parse('http://sports.sina.com.cn/nba/')
運行結果:api
protocol: 'http:', slashes: true, auth: null, host: 'sports.sina.com.cn', port: null, hostname: 'sports.sina.com.cn', hash: null, search: null, query: null, pathname: '/nba/', path: '/nba/', href: 'http://sports.sina.com.cn/nba/' }
2、parse函數 —— 條件解析;數組
parse函數的第二個參數是布爾類型,當參數爲true時,會將查詢條件也解析成json格式的對象。函數
var url = require('url'); url.parse('http://sports.sina.com.cn/nba/',true)
運行結果:工具
protocol: 'http:', slashes: true, auth: null, host: 'sports.sina.com.cn', port: null, hostname: 'sports.sina.com.cn', hash: null, search: '', query: {}, pathname: '/nba/', path: '/nba/', href: 'http://sports.sina.com.cn/nba/' }
3、parse函數 —— 解析主機;ui
parse函數的第三個參數也是布爾類型的,當參數爲true,解析時會將url的"//"和第一個"/"之間的部分解析爲主機名,示例以下:url
var url = require('url'); url.parse('http://sports.sina.com.cn/nba/',false,true)
運行結果:spa
protocol: 'http:', slashes: true, auth: null, host: 'sports.sina.com.cn', port: null, hostname: 'sports.sina.com.cn', hash: null, search: null, query: null, pathname: '/nba/', path: '/nba/', href: 'http://sports.sina.com.cn/nba/' }
4、url.format(urlObj)
format函數的做用與parse相反,它的參數是一個JSON對象,返回一個組裝好的url地址,請看以下示例:
var url = require('url'); url.format({ protocol: 'http:', hostname: 'www.baidu.com', port: '80', pathname: '/news', query: { page: 1 } });
運行結果:
'http://www.baidu.com:80/news?page=1'
5、resolve函數的基礎用法;
url.resolve(from, to),resolve函數的參數是兩個路徑,第一個路徑是開始的路徑或者說當前路徑,第二個則是想要去往的路徑,返回值是一個組裝好的url,示例以下:
var url = require('url'); url.resolve('http://example.com/', '/one') // 'http://example.com/one' url.resolve('http://example.com/one', '/two') // 'http://example.com/two'
Query String--這個模塊提供一些處理 query string 的工具。它提供下列方法:
1、querystring.stringify(obj, [sep], [eq])
序列化一個對象到一個 query string。能夠選擇是否覆蓋默認的分割符('&'
)和分配符('='
)。
querystring.stringify({name:'jone',age:28},',',':') // 運行結果 'name:jone,age:28'
2、querystring.parse(str, [sep], [eq], [options])
將一個 query string 反序列化爲一個對象。能夠選擇是否覆蓋默認的分割符('&'
)和分配符('='
)。
querystring.parse('name=jone&age=28&work=teacher&address') // 運行結果 { name: 'jone', age: '28', work: 'teacher', address: '' }