node
官方对象(模块)
http
功能:请求和响应的
API:
createServer()
功能:创建服务器对象
参数:回调函数
(req,res)=>{
req:请求对象,包含一切请求信息,如:url,method,请求参数
req.url
req.method
res:响应对象:完成响应的
res.write();
res.end();
}
fs
功能:文件操作
API:
readFile();
功能:读取文件
参数:
文件路径
编码
回调函数:
(err,data)=>{
data:就是读取到的内容
}
path
功能:处理磁盘路径的(字符串处理)
API:
resolve()
功能:把若干路径字符串有机地进行拼接,可以识别 “…/”
参数:若干个路径字符串。
url
功能:处理url路径的(字符串处理)
API:
parse();
功能:把url字符串转成json对象(url对象)
参数:合法的url字符串
querystring
功能:处理查询字符串(url里 的 问号后面的字符串)
parse();
搭建服务器
1、静态服务器(web服务器)
功能:只需要完成请求和响应就行
const http = require("http");
let app = http.createServer((req,res)=>{
//1、req接收响应,包括的信息:req.url,req.method,请求参数等等
//2、res响应:res.writeHead(),res.write(),res.end();
});
app.listen(端口号,ip地址,回调函数);
2、动态服务器(api服务器)
2.1)、基本思路
const http = require("http");
let app = http.createServer((req,res)=>{
//1、req接收响应,包括的信息:req.url,req.method,请求参数等等
//2、执行业务逻辑(如:查询数据库,)
//3、res响应:res.writeHeader(),res.write(),res.end();
});
app.listen(端口号,ip地址,回调函数);
get方式的请求
//get方式获取请求参数,其实就是获取url字符串的一部分
//1、用url模块的parse方法把req.url字符串转成对象
let obj = url.parse(req.url,true);
//2、在obj.query里就能拿到get方式请求数据
obj.query
2.3)、post方式的请求,如何获取请求参数
//post方式的请求参数,在请求体里呢
//1、使用 data事件(前端发送指定大小(一般来说是65536)的数据后,会触发data一次)
let str = ""
req.on("data",(chunk)=>{
//chunk:就是本次传输的数据、
str+=chunk;
})
//2、使用end事件(数据传输完毕后,触发end事件)
req.on("end",()=>{
str:就是全部数据了
res.end();
})