中间件定义:在整个程序过程当中所执行的环节c称之为中间件,由一系列函数构成。
一、常用的中间件
1.next
如果在post,get请求过程中的回调函数没有next()参数,那么就匹配上第一个路由,就不会往下匹配了。如果想往下匹配的话,就需要写next(),例如:
app.use('/user', (req, res,next) => { /*表示匹配任何路由*/
console.log('一次');
next(); /*表示匹配完成这个中间件就继续往下执行。*/
});
app.use('/user', (req, res, next) => {
console.log('两次');
res.send()
});
2.错误处理中间件
app.use((req,res)=>{
res.status(200).send("这个是404 没有路由匹配到!")
})
3.内置中间件(如:静态路由匹配)
app.use('/static',express.static("public"));
4.第三方中间件
post请求在express中是不能直接获取的,但是我们可以使用第三方中间件body-parser模块来获取。get获取url数据 req.query
//安装
npm install body-parser express-art-template --save
//导入
const express = require('express')
const bodyParser = require('body-parser')
const app = express()
//兼容其它模块
app.engine('art',require('express-art-template'))//当渲染以.art结尾的文件的时候 使用模板引擎
// //post 挂载
app.use(bodyParser.urlencoded({ extended: false }))
//处理json数据
app.use(bobyParser.json())