基本结构
//大前提:npm install express@4.17.1
//第一步 引入express
const express = require('express');
//第二步 创建express服务器实例
const app = express();
//第三步 导入零或多个中间件模块
//第四步 导入一个或多个路由模块
//第五步 导入错误的中间件
//第六步 指定端口,启动服务器
app.listen('80',() => {
console.log('express server run at http://127.0.0.1');
})
理解中间件
中间件特指业务流程的中间处理环节,中间件有五类
应用级别的中间件
错误级别的中间件
路由级别的中间件
内置中间件
第三方中间件
中间件本质上就是一个处理函数,
中间件函数的形参列表中必须包含next参数,
而路由的参数列表中只包含req对象,res对象.
next函数
next函数是实现多个中间件连续调用的关键,表示把流转关系交给下一个中间件或路由.
如果不调用next函数,程序将不会继续往下运行.
调用完next函数后不要写额外的代码.
中间件的作用
多个中间件之间,共享同一份req对象和res对象.
因此,可以在上游中间件中,统一为req,res对象添加自定义属性和方法供下游中间件或路由使用.
const app = express();
//在上游对req对象/res对象做一些处理,在下游拿到处理后的req对象/res对象
app.use((req,res,next) => {
//对查询字符串做处理
//req.query...
//对get参数处理
//req.parmas...
//对post参数处理
//req.body...
})
全局中间件
通过app.use(中间件函数),定义一个全局中间件//内置中间件
app.use(express.urlencoded({
extended: