c语言sscanf函数的用法是什么
267
2022-11-30
Express中间件②(中间件的分类)
文章目录
中间件的分类
应用级别的中间件路由级别的中间件错误级别的中间件Express内置的中间件
express.json的使用示例express.urlencoded使用示例
第三方的中间件
中间件的分类
为了方便大家理解和记忆中间件的使用,Express 官方把常见的中间件用法,分成了 5 大类,分别是: ① 应用级别的中间件 ② 路由级别的中间件 ③ 错误级别的中间件 ④ Express 内置的中间件 ⑤ 第三方的中间件
应用级别的中间件
通过 app.use() 或 app.get() 或 app.post() ,绑定到 app 实例上的中间件,叫做应用级别的中间件,代码示例如下:
路由级别的中间件
绑定到 express.Router() 实例上的中间件,叫做路由级别的中间件。它的用法和应用级别中间件没有任何区别。只不过,应用级别中间件是绑定到 app 实例上,路由级别中间件绑定到 router 实例上,代码示例如下:
错误级别的中间件
错误级别中间件的作用:专门用来捕获整个项目中发生的异常错误,从而防止项目异常崩溃的问题。
格式:错误级别中间件的 function 处理函数中,必须有 4 个形参,形参顺序从前到后,分别是 (err, req, res, next)。
注意:错误级别的中间件,必须注册在所有路由之后! 因为按照从前往后的执行顺序,如果把错误级别的中间件放在前面,当发生了错误后,程序往后执行是没有处理代码的。
Express内置的中间件
自 Express 4.16.0 版本开始,Express 内置了 3 个常用的中间件,极大的提高了Express 项目的开发效率和体验: ① express.static 快速托管静态资源的内置中间件,例如: HTML 文件、图片、CSS 样式等(无兼容性) ② express.json 解析 JSON 格式的请求体数据(有兼容性,仅在 4.16.0+ 版本中可用) ③ express.urlencoded 解析 URL-encoded 格式的请求体数据(有兼容性,仅在 4.16.0+ 版本中可用)
使用示例:
express.json的使用示例
// 导入 express 模块const express = require('express')// 创建 express 的服务器实例const app = express()// 注意:除了错误级别的中间件,其他的中间件,必须在路由之前进行配置// 通过 express.json() 这个中间件,解析表单中的 JSON 格式的数据app.use(express.json())app.post('/user', (req,) => { // 在服务器,可以使用 req.body 这个属性,来接收客户端发送过来的请求体数据 // 默认情况下,如果不配置解析表单数据的中间件,则 req.body 默认等于 undefined console.log(req.body) res.send('ok')})// 调用 app.listen 方法,指定端口号并启动web服务器app.listen(80, function () { console.log('Express server running at req,body 来获取 JSON 格式的表单数据和 url-encoded 格式的数据 默认情况下,如果不配置解析表单数据的中间件,则 req.body 默认等于 undefined
express.urlencoded使用示例
// 导入 express 模块const express = require('express')// 创建 express 的服务器实例const app = express()// 注意:除了错误级别的中间件,其他的中间件,必须在路由之前进行配置// 通过 express.urlencoded() 这个中间件,来解析 表单中的 url-encoded 格式的数据app.use(express.urlencoded({ extended: false }))app.post('/book', (req,) => { // 在服务器,可以使用 req.body 这个属性,来接收客户端发送过来的请求体数据 // 默认情况下,如果不配置解析表单数据的中间件,则 req.body 默认等于 undefined // 在服务器端,可以通过 req,body 来获取 JSON 格式的表单数据和 url-encoded 格式的数据 console.log(req.body) res.send('ok')})// 调用 app.listen 方法,指定端口号并启动web服务器app.listen(80, function () { console.log('Express server running at Express 官方内置的,而是由第三方开发出来的中间件,叫做第三方中间件。在项目中,大家可以按需下载并配置第三方中间件,从而提高项目的开发效率。
例如:在 express@4.16.0 之前的版本中,经常使用 body-parser 这个第三方中间件,来解析请求体数据。使用步骤如下:
运行 npm install body-parser 安装中间件使用 require 导入中间件调用 app.use() 注册并使用中间件
注意:Express 内置的 express.urlencoded 中间件,就是基于 body-parser 这个第三方中间件进一步封装出来的。 (这也就说明了两者的注册语法为什么这么相似的原因)
使用代码:
// 导入 express 模块const express = require('express')// 创建 express 的服务器实例const app = express()// 1. 导入解析表单数据的中间件 body-parserconst parser = require('body-parser')// 2. 使用 app.use() 注册中间件app.use(parser.urlencoded({ extended: false }))// app.use(express.urlencoded({ extended: false }))app.post('/user', (req,) => { // 如果没有配置任何解析表单数据的中间件,则 req.body 默认等于 undefined console.log(req.body) res.send('ok')})// 调用 app.listen 方法,指定端口号并启动web服务器app.listen(80, function () { console.log('Express server running at http://127.0.0.1')})
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~