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')
})
相关推荐
书中自有妍如玉2 小时前
Node.Js Express Sqlite3 接口开发
node.js·express
showmethetime1 天前
使用 Node.js 和 Express 构建 RESTful API
node.js·restful·express
2501_938780283 天前
《Node.js 面试考点精讲:Express 生态与常见问题解决方案》
面试·node.js·express
2501_938790073 天前
《Node.js 面试避坑:Express 常见问题误区与正确答案解析》
面试·node.js·express
2501_938782095 天前
《Express 面试高频错题集:容易踩坑的 Node.js 后端问题解析》
面试·node.js·express
_光光8 天前
大文件上传服务实现(后端篇)
后端·node.js·express
正经教主10 天前
【Trae+AI】和Trae学习搭建App_03:后端API开发原理与实践(已了解相关知识的可跳过)
后端·express
想睡好11 天前
express中间件(java拦截器)
java·中间件·express
正经教主11 天前
【Trae+AI】Express框架01:教程示例搭建及基础原理
前端框架·express
gongzemin11 天前
使用阿里云ECS部署Express
后端·node.js·express