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')
})
相关推荐
Aolith14 小时前
全栈论坛笔记:异步、HTTP 与安全基础
express
Aolith2 天前
学 Express 被 app.use 绕晕了?用流水线思维一次性搞懂 5 种中间件
后端·express
森叶3 天前
告别端口占用!用 Unix Domain Socket 管道让 Express 飞起来
服务器·unix·express
Aolith5 天前
《Express 初学者笔记:再也不怕搞混 req 和 res 了》
express
炽烈小老头6 天前
Express Routing(路由系统)
node.js·express
李昊哲小课9 天前
express
express·art-templates
77美式13 天前
Node + Express + MongoDB 后端部署全解析:新手零踩坑
数据库·mongodb·express
走粥14 天前
node.js 中的 express 框架 - 基础到进阶
node.js·express
旺王雪饼 www14 天前
《Express框架深度解析:从基础入门到高级实践与项目架构》
前端·node.js·express
廋到被风吹走19 天前
【AI】Codex + 后端框架实战:Spring/Express/Django 业务逻辑全自动生成
人工智能·spring·express