鄙人初步学习nodejs,目前在读《nodejs入门》这一本书,书很小,可是让我知道了如何用nodejs建立一个简单的小项目。例如如何建立一个服务器啦,例如http.createServer,还有根据不一样的请求路径来设置路由选择啦,模块引入,建立模块啦,巴拉巴拉的东西。node
如今尚未看完这本书,看完了再来写读后感吧。git
今天主要记录的是关于nodejs里面的一个简单的模块,url模块。这个url的模块要使用的话须要先引入。若只是在命令行里好比cmd或git bash 等使用url这个模块的话,是不须要require进来的。直接使用即可。(我也不知道为啥不用require)编程
const这个关键字是ES6里面定义的常量,不可改变。bash
1 const url = require("url");
url一共提供了三个方法,分别是url.parse(); url.format(); url.resolve();服务器
1 url.parse(urlString,boolean,boolean)学习
parse这个方法能够将一个url的字符串解析并返回一个url的对象ui
参数:urlString指传入一个url地址的字符串url
第二个参数(可省)传入一个布尔值,默认为false,为true时,返回的url对象中,query的属性为一个对象。spa
第三个参数(可省)传入一个布尔值,默认为false,为true时,额,我也不知道有什么不一样,能够去看看API。命令行
例子1,url.parse只传一个参数的状况。
1 url.parse("http://user:pass@host.com:8080/p/a/t/h?query=string#hash"); 2 /* 3 返回值: 4 { 5 protocol: 'http:', 6 slashes: true, 7 auth: 'user:pass', 8 host: 'host.com:8080', 9 port: '8080', 10 hostname: 'host.com', 11 hash: '#hash', 12 search: '?query=string', 13 query: 'query=string', 14 pathname: '/p/a/t/h', 15 path: '/p/a/t/h?query=string', 16 href: 'http://user:pass@host.com:8080/p/a/t/h?query=string#hash' 17 } 18 没有设置第二个参数为true时,query属性为一个字符串类型 19 */
例子2,url.parse第二个参数为true的状况
1 url.parse("http://user:pass@host.com:8080/p/a/t/h?query=string#hash",true); 2 /* 3 返回值: 4 { 5 protocol: 'http:', 6 slashes: true, 7 auth: 'user:pass', 8 host: 'host.com:8080', 9 port: '8080', 10 hostname: 'host.com', 11 hash: '#hash', 12 search: '?query=string', 13 query: { query: 'string' }, 14 pathname: '/p/a/t/h', 15 path: '/p/a/t/h?query=string', 16 href: 'http://user:pass@host.com:8080/p/a/t/h?query=string#hash' 17 } 18 返回的url对象中,query属性为一个对象 19 */
2 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' */
3 url.resolve(from,to)
resolve这个方法返回一个格式为"from/to"的字符串,在宝宝看来是对传入的两个参数用"/"符号进行拼接,并返回
例子4,url.resolve
url.resolve("http://whitemu.com","gulu"); /* 返回值: 'http://whitemu.com/gulu' */
结束语:
好啦,对于url这个模块的总结就那么多啦,如有什么理解错误的地方还须要指正,谢谢。