Express内置的中间件

自Express 4.16.0 版本开始,Express 内置了3个常用的中间件,极大的提高了 Express 项目的开发效率和体验:

1.express.static 快速托管静态资源的内置中间件,例如: HTML 文件、图片、CSS 样式等 (无兼容性)

2.express.json 解析JSON 格式的请求体数据(有兼容性,仅在4.16.0+ 版本中可用)

3.express.urlencoded 解析 URL-encoded 格式的请求体数据 (有兼容性,仅在 4.16.0+ 版本中可用)

javascript 复制代码
//配置解析 application/json格式数据的内置中间件
app.use(express.json())
// 配置解析 application/x-w-form-urlencoded 格式数据的内置中间件
app.use(express.urlencoded({extended: false }))

实例

javascript 复制代码
// 导入 express 模块
const express = require('express')
// 创建 express 的服务器实例
const app = express()
//------------1------------
//body传值:   {'name':'zs','age':'18'}
app.post('/one',(req, res) => [
    // 在服务器,可以使用 req.body 这个属性,来接收客户端发送过来的请求体数据
    // 默认情况下,如果不配置解析表单数据的中间件,则 req.body 默认等于 undefined
    console.log(req.body)    //undefined
    res.send('ok')
})
//------------2------------
// 注意: 除了错误级别的中间件,其他的中间件,必须在路由之前进行配置
// 通过 express.json() 这个中间件,解析表单中的 JSON 格式的数据
app.use(express.json())
//body里json传值:   {'name':'zs','age':'18'}
app.post('/two',(req, res) => [
    // 在服务器,可以使用 req.body 这个属性,来接收客户端发送过来的请求体数据
    // 默认情况下,如果不配置解析表单数据的中间件,则 req.body 默认等于 undefined
    console.log(req.body)    //{'name':'zs','age':'18'}
    res.send('ok')
})
//------------3------------
//通过 express.urlencoded() 这个中间件,来解析 表单中的 url-encoded 格式的数据
app.use(express.urlencoded({extended: false }))
//body里url-encoded传值:   {'name':'zs','age':'18'}
app.post('/three',(req, res) => [
    // 在服务器端,可以通过 req.body 来获取 JSON 式的表单数据和 url-encoded 格式的数据
    // 默认情况下,如果不配置解析表单数据的中间件,则 req.body 默认等于 {}
    console.log(req.body)    //{'name':'zs','age':'18'}
    res.send('ok')
})
相关推荐
光影少年4 小时前
Express 中间件原理
后端·node.js·express
console.log('npc')9 小时前
06 — Model 层:数据模型与操作
前端·后端·node.js·express
cpolar技术支持3 天前
本地登录正常,公网却掉线?Express Session 经 cpolar HTTPS 访问的 Cookie 排障实战
node.js·express·cpolar·cookie·session
console.log('npc')4 天前
03 — 核心框架:App 与中间件
后端·node.js·express
BS30813_vx12 天前
基于 Express + uni-app 的养老院管理系统设计与实现
后端·uni-app·express
__zRainy__14 天前
Node系列 · Express:log4js 日志记录
log4j·express
__zRainy__17 天前
Node系列 · Express:cors 中间件
中间件·express
__zRainy__20 天前
Node系列 · Express:cookie 的基本概念
express
__zRainy__20 天前
Node系列 · Express:常用的中间件
中间件·node.js·express
FungLeo20 天前
成为全栈·Node 后端篇·框架选型:Express、Koa、Fastify、NestJS 的差异与为何选 Hono
express·koa·nest.js·fastify·hono