一开始看教程视频的时候,上面只是简单地说.get()是处理get请求,.post()处理post请求
而.use()是可以处理get和post
然而,我写了两个接口,一个是/user/detail,一个是/user,发现,前面/user会把/user/detail给覆盖掉
然后你访问user/detail的时候,响应的是/user
什么时候用.use()
要使用中间件的时候,比如添加过滤器,判断是不是有session
const express=require('express')
//读取cookie的模块
const cookieParser=require('cookie-parser')
const expressStatic=require('express-static')
var server=express()
server.use('/',function(req,res,next){
console.log("中间件")
next()
})
server.use('/nodejs',function(req,res){
res.cookie('username','linyongbin')
res.send('welcome nodejs')
})
//加了path之后,cookie只能在/lin路径下才能访问,maxAge是cookie的存活时间,单位是毫秒
server.get('/lin',function(req,res){
res.cookie('age',16,{path:'/lin',maxAge:15*1000})
res.send('welcome lin')
})
server.get('/lin/secret',function(req,res){
req.secret='s9udbgeusdne2123'
res.cookie('password','linyongbin',{signed:true})
res.send("cookie加密")
})
server.listen(8080)
比如上面我们对根路径使用use(),那么他下面所有的子路径都要经过use之后才能继续下去
所以不管我们访问什么,后台都会打印‘中间件’三个字
————————————————
版权声明:本文为CSDN博主「BUG_攻城狮」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/abc_123456___/article/details/99960436