Express是一个自身功能极简,完全是有路由和中间件构成的一个web开发框架:本质上说,一个express的应用就是在调用各种中间件。
中间件的功能:
执行任何代码。
修改请求和响应对象。
终结请求-响应循环。
调用堆栈中的下一个中间件。
重点
如果在post,get请求过程中的回调函数没有next()参数,那么就匹配上第一个路由,就不会往下匹配了。如果想往下匹配的话,就需要写next();
Express 常用的中间件介绍
1.应用级别的中间件
app.use(function (req, res, next) {/*表示匹配任何路由*/
console.log(new Date())
next()/*表示匹配完成这个中间件就继续往下执行。*/
})
1
2
3
4
2.路由中间件
app.get("/", function (req, res,next) {
console.log("匹配成功");
next()
})
app.get("/", function (req, res) {
var list = [1, 6, 9, 8, 55, 66, 45]
res.render('index', {
"list": list
})
})
1
2
3
4
5
6
7
8
9
10
11
12
3.错误处理中间件(404页面也是属于其中的一种)
app.use((req,res)=>{
res.status(200).send("这个是404 没有路由匹配到!")
})
1
2
3
如果是404的话 一般是放置最后的
4.内置中间件(例如:静态路由匹配)
app.use('/static',express.static("public"));
1
表示现在 你就可以通过带有“/static ”前缀的地址来访问public目录下面的文件了
5. 第三方中间件
post请求在express中是不能直接获取的,但是我们可以使用第三方中间件body-parser模块来获取。
//第一步安装
npm install body-parser
var express = require('express')
var bodyParser = require('body-parser')
var app = express()
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())
1
2
3
4
5
6
7
8
9
10
11
12
13
14
配置好以后 我们就可以用req.body来获取 post提交的数据