当前位置: 首页 > news >正文

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+ 版本中可用)

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

实例

// 导入 express 模块
const express = require('express')
// 创建 express 的服务器实例
const app = express()
//------------1------------
//body传值:   {'name':'zs','age':'18'}
app.post('/one',(req, res) => [// 在服务器,可以使用 req.body 这个属性,来接收客户端发送过来的请求体数据// 默认情况下,如果不配置解析表单数据的中间件,则 req.body 默认等于 undefinedconsole.log(req.body)    //undefinedres.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 默认等于 undefinedconsole.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')
})

http://www.lryc.cn/news/246725.html

相关文章:

  • Webstorm 插件文件目录颜色分析——白蓝绿红黄灰
  • 蓝桥杯day01——根据给定数字划分数组
  • oracle数据库巡检常见脚本-系列二
  • JavaScript 表达式
  • Python之Pygame游戏编程详解
  • 虚拟摇杆easytouch joystick的方向与角色移动方向不一致
  • C++二分查找:统计点对的数目
  • 播放器开发(二):了解FFmpeg与SDL常用对象和函数
  • 【数据库】基于排序算法的去重,集合与包的并,差,交,连接操作实现原理,执行代价以及优化
  • Redis 主从架构,Redis 分区,Redis哈希槽的概念,为什么要做Redis分区
  • 极客大挑战2023 Web方向题解wp 全
  • kafka开发环境搭建
  • Python大数据考题
  • 才聚免费为你招聘,用人单位看过来!
  • 【SpringCloud】微服务的扩展性及其与 SOA 的区别
  • 从零带你底层实现unordered_map (2)
  • 打造企业AI数字人专属IP的重要性
  • docker容器的生命周期管理常用命令
  • CF 1900B Laura and Operations 学习笔记
  • Linux学习笔记6-串口应用
  • ubuntu下如何查看.gz压缩包中的内容,以及grep过滤查找文件中的某些内容
  • AI 重构工业制造的故事 我们从大模型开始讲起
  • easyExcel 注解开发 快速以及简单上手 以及包含工具类
  • VS2010配置opencv2.4.10
  • Android:控制按键灯亮灭【button-backlight】
  • 1、nmap常用命令
  • Redis缓存设计典型问题
  • 【python】python基础速通系列2-python程序中的积木块
  • 本地开启https,配置nodeJs服务
  • 项目中的svg图标的封装与使用