express学习(一,中间件,错误处理
创建express服务器
` const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => res.send('Hello World!'))1.
app.get('/hello',(req,res)=>
res.send("你好")
)
app.listen(port, () => console.log("Example app listening on port port!")`
send方法
- 自动检测响应内容的类型
- 自动设置状态码
- 自动设置响应的内容类型及编码
中间件
就是一堆方法,接收客户端的请求,做出响应,或者交个下一个中间件。
app.get(req,res,next),app.post(req,res,next)
next:交给下一个
请求匹配到一次后,不会向下匹配,使用next()向下匹配
注意:需要先在get方法中声明next()
app.use()方法
匹配所有的路径app.use((req,res,next)=>{})
匹配某一个路径app.use("/router",(req,res,next)=>{})
next()
如果不适用next(),在完成请求当前,不会向下继续请求
路由保护
app.use("/admin",(req,res,next)=>{ if(user.vip==true){ next() } else{ res.send("你还不是会员") } }) app.get("/admin",(req,res)=>{ res.send("你已经是会员") })
网站维护(拦截功能)更改状态码
app.use((req,res,next)=>{ res.status(404).send("当前网站正在维护") })
错误处理中间件
(err,req,res,next)
err.message:错误信息 (只能捕获同步代码)
触发错误处理next(err)中间件
app.use(err)
捕获错误
try{
}
catch(){
}

浙公网安备 33010602011771号