有两种方式(现在主流是第二种)
一、在node中有一个核心模块,就是http模块。
二、在第三方的npm去下载一个koa模块,(koa模块就是在原生的http模块的基础上封装好的一个http服务器)
使用koa模块
1、下载:npm i koa -S
2、引入到文件中:var Koa = require("koa")
3、现在拿到的Koa是一个构造函数,用来实例化一个http服务器对象,
let server = new Koa()
现在才是一个http服务器对象
4、现在server服务器已经创建好了,但是前端无法访问它。
server.listen(8080,"127.0.0.1",err=>{})
意思是:服务器监听IP及端口 -->127.0.0.1这是一个IP地址(一个服务器只有一个IP地址),8080是端口号
当前端有访问这个IP及端口时,当前的服务器就会做出响应。
5、启动http服务,在命令行中运行当前文件
6、如果向前端发送请求,使用server对象上的use方法。
也就是说只要一次前端的请求发送到服务器就会自动触发use()方法的执行。
server.use((ctx,next)=>{
ctx.body="你好前端";
next()
})
*use()方法的参数只有一个,这个参数是一个函数,
这个函数有两个参数
①ctx->context->上下文->上传下答
前端向服务器发来的信息就叫上传,服务器向前端响应的信息就叫下答,
ctx是一个全局对象。
ctx是一个对象,包含了所有请求和响应的信息(是request和reponse的结合体)
例如:ctx.header()(获取我们的响应的头信息)
ctx.url()(获取请求的来源地址)
ctx.body()(给前端响应一段数据,并结束本次会话)
②next:请求是一个函数,如果我们的请求函数中有next()方法,
那就可以把请求传递到下一个use()请求。