nodejs教程(四)–Express中间件
1.中间件完整的结构:
- 1.1是一个函数
- 1.2入参:err, req, res, next ---->function
function demo_middleware(err,req,res,next){//四个参数不是必需的
//1.异常
//2.处理下业务功能,然后转交控制权-->next
//3.响应请求-->结束响应-->当作路由的处理函数
}
2.中间件使用场景:
2.1 app级别的使用
- 注册时一定是在最上面
- 通过app.use暴露的api加载进来
在postman中请求路由时自动加载该中间件进来
当加载静态文件时:使用static,先建立一个和package.json相同路径下的文件夹static,再在其中新建文件index.html,在app.js中使用static方法加载静态文件。
2.2 router级别
- 在src文件夹下新建一个router文件夹,再在router文件夹中新建user_router.js文件。在这个js文件中写入代码。
- 再在app.js文件中注册并使用
const userRouter = require('./router/user_router');
app.use('/user',userRouter);
可以将中间件作为第三个参数传入路由,中间件中写入代码,然后传入router,中间件中写入操作,在进行操作之后,最后由router处理并返回响应。
- 可以将中间件中的参数值传给下一个函数,使用formdata接收参数,然后router中通过req接收formdata函数