一.Node.js基础
1. 内置模块
01. http模块
要使用 HTTP 服务器和客户端,则必须require('http')
const http = require('http');
// 创建本地服务器来从其接收数据
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({
data: 'Hello World!'
}));
});
server.listen(8000);
const http = require('http');
// 创建本地服务器来从其接收数据 const server = http.createServer();
// 监听请求事件
server.on('request', (request, res) => {
res.writeHead(200, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({
data: 'Hello World!'
}));
});
server.listen(8000);
02. url模块
02.1 parse
url.parse() 方法会解析一个 URL 字符串并返回一个 URL 对象。
如果 urlString 不是字符串将会抛出 TypeError 。
const url = require('url')
const urlString = 'https://www.baidu.com:443/ad/index.html? id=8&name=mouse#tag=110
const parsedStr = url.parse(urlString)
console.log(parsedStr)
02.2 format
url.format() 返回一个对象的可自定义序列化的URL字符串表达
const url = require('url')
const urlObject = {
protocol: 'https:',
slashes: true,
auth: null,
host: 'www.baidu.com:443',
port: '443',
hostname: 'www.baidu.com',
hash: '#tag=110',
search: '?id=8&name=mouse',
query: { id: '8', name: 'mouse' },
pathname: '/ad/index.html',
path: '/ad/index.html?id=8&name=mouse'
}
const parsedObj = url.format(urlObject)
console.log(parsedObj)
02.3 resolve
url.resolve() 方法会以一种 Web 浏览器解析超链接的方式把一个目标 URL 解析成相对于一个基础 URL
const url = require('url')
var a = url.resolve('/one/two/three', 'four') ( 注意最后加/ ,不加/的区别 )
var b = url.resolve('http://example.com/', '/one')
var c = url.resolve('http://example.com/one', '/two')
console.log(a + "," + b + "," + c)
03. querystring模块
03.1 parse
querystring.parse() 方法用于将URL查询字符串解析为包含查询URL的键和对值的对象。
const querystring = require('querystring')
var qs = 'x=3&y=4'
var parsed = querystring.parse(qs)
console.log(parsed)
03.2 stringify
querystring.stringify() 方法用于将对象转换成字符串,字符串里多个参数将用 ‘&' 分隔,将用 ‘=' 赋值。
const querystring = require('querystrin