Nodejs库-EXPRESS

EXPRESS

nodejs库,不用基础做起,工作简单化,点击进入官网,类似的还有 koa

特点

基于 Node.js 平台,快速、开放、极简的 Web 开发框架

搭建web服务

const express=require('express')  //引入express框架
const server=express()  //创建一个web服务器
server.listen(端口,地址,回调函数)

静态资源托管

server.use(express.static('静态资源路径'));

use

安装中间件、路由、接受一个函数

server.use([地址],中间件|路由|函数体)

req 请求体

request 对象表示 HTTP 请求,包含了请求查询字符串,参数,内容,HTTP 头部等属性

req.query //获取地址栏的数据
req.body //获取非地址栏的数据  要依赖中间件 
req.params //获取动态接口名   比如链接的id:server.get("/api/:id")
req.method //获取前端提交方式

注意:req.body依赖中间件

middleware, 处理自定义业务,只处理请求到结束响应的中间部分

举例 (例如使用body-parser,来去增强req的功能)

const bodyParser=require('body-parser')//引入中间件
server.use(bodyParser())//安装中间件

body-parser 使用方式,实时查询 npm,可获得最新

res 响应体

response 对象表示 HTTP 响应,即在接收到请求时向客户端发送的 HTTP 响应数据

res.send(any)   //向浏览器写入和响应结束。对等 res.write + res.end
res.end(string|buffer)
res.json(json) //返回json
res.status(404).send({error:1,msg:"Sorry can't find that!"}) //设置状态码,返回一个404 

接口响应

支持各种请求姿势:get、post、put、delete…

server.请求姿势API(接口名称,处理函数)
server.get(url,(req,res,next)=>{})
server.post(url,(req,res,next)=>{})
...

next()放行,让后续的中间件获取到执行权限,去执行

例如:

app.get("/api/*",(req,res,next)=>{
console.log("hello world。。")
next() //放行,让后续的中间件获取到执行权限,去执行。只有这里执行了next(),下面代码中的user才会输出
})

app.get("/api/user/*",(req,res,next)=>{
console.log("user!!!")
res.send("hello world111111")  //结束了!
})

路由

告诉你去哪,对于前端,主要是导向告诉浏览器应该去哪。对于后端,可以理解为一个子服务,一个路由就是一个小的服务,处理一类接口

// 1. 创建路由
let userRouter = express.Router(); 

//2. 安装路由
app.use('地址',userRouter); 

//2 路由处理响应
userRouter.响应API(地址, 处理函数)

例如:
//创建路由
const userRouter = express.Router()
//安装路由
app.use("/api/user",userRouter)
userRouter.get("/login",(req,res)=>{
    res.send("/api/user/login....")
})  //执行api/user文件下的login文件
userRouter.get("/reg",(req,res)=>{
    res.send("/api/user/reg....")
})  //执行api/user文件下的reg文件
posted @ 2020-08-04 20:12  Cupid05  阅读(38)  评论(0编辑  收藏  举报