Node.js的url模块与querystring模块
新书速览|Vue.js+Node.js全栈开发实战-CSDN博客
《Vue.js+Node.js全栈开发实战(第2版)(Web前端技术丛书)》(王金柱)【摘要 书评 试读】- 京东图书 (jd.com)
4.3.1 http模块——创建HTTP服务器、客户端
要使用http模块,只需要在文件中通过require('http')引入即可。http模块是Node.js原生模块中最为亮眼的模块。传统的HTPP服务器会由Apache、Nginx、IIS之类的软件来担任,但是Node.js并不需要。Node.js的http模块本身就可以构建服务器,而且性能非常可靠。
Node.js的http模块:创建HTTP服务器、客户端示例-CSDN博客
4.3.2 url模块——url地址处理
要使用url模块,只需要在文件中通过require('url')引入即可。url模块主要用来解析URL,它提供以下3种方法:
- url.parse(urlStr[,parseQueryString][,slashesDenoteHost]):解析一个URL地址,返回一个url对象。
- url.formate(urlObj):接收一个url对象为参数,返回一个完整的URL地址。
- url.resolve(from, to):接收一个base url对象和一个href url对象,像浏览器那样解析,返回一个完整的URL地址。
示例代码如下:
【代码4-10】
01 const url = require('url');
02 let parseUrl = 'https://www.google.com/?q=node.js';
03 let urlObj = url.parse(parseUrl);
04 console.log(urlObj);
在命令行中输出如图4.10所示的信息,说明解析成功。
图4.10 解析URL地址
利用url.format()方法返回上述完整地址的代码如下:
【代码4-11】
01 const url = require('url');
02 let urlObj = {
03 'host': 'www.google.com',
04 'port': 80,
05 'protocol': 'https',
06 'search':'?q=node.js',
07 'query': 'q=node.js',
08 'path': '/'
09 };
10 let urlAdress = url.format(urlObj);
11 console.log(urlAdress);
运行代码后,可以在命令行看到完整的URL地址。
resolve的使用方法如下:
【代码4-12】
01 const url = require('url');
02 let urlAdress = url.resolve('https://www.google.cn', '/image');
03 console.log(urlAdress);
运行代码后,可以在命令行看到完整的URL地址https://www.google.cn/image。
4.3.3 querystring模块——查询字符串处理
要使用querystring模块,只需要在文件中通过require('querystring')引入即可。querystring模块是一个处理查询字符串的模块,这个模块的主要方法有:
- querystring.parse():将查询字符串反序列化为一个对象,类似JSON.parse()。
- querystring.stringify():将一个对象序列化为一个字符串,类似JSON.stringify()。
下面演示它们的使用方法。
将查询字符串反序列化为一个对象:
【代码4-13】
01 const querystring = require('querystring');
02 let str = 'keyWord=node.js&name=huruji';
03 let obj = querystring.parse(str);
04 console.log(obj);
将对象序列化为一个查询字符串。
【代码4-14】
01 const querystring = require('querystring');
02 let obj = {
03 keyWord: 'node.js',
04 name: 'huruji'
05 };
06 let str = querystring.stringify(obj);
07 console.log(str);