Express中间件

这篇具有很好参考价值的文章主要介绍了Express中间件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.创建最基本的中间件

const express = require('express');
const send = require('send');

const app = express()

const mw = function (req, res, next) {
    console.log('middleware');

    // 一定要调用next()  把流转关系交给下一个中间件或路由
    next()
}



app.listen(80, () => {
    console.log('express server running at ');

})

2.全局生效的中间件

客户端发起的任何请求,到达服务器之后,都会触发的中间件

const express = require('express');
const send = require('send');

const app = express()

const mw = (req, res, next) => {
    console.log('middleware');

    // 一定要调用next()  把流转关系交给下一个中间件或路由
    next()
}

// 将mw注册为全局生效的中间件
app.use(mw)

app.get('/', (req, res) => {
    res.send('Home Page')
})

app.get('/user', (req, res) => {
    res.send('User Page')
})
app.listen(80, () => {
    console.log('express server running at ');

})

3.局部生效的中间件

const express = require('express');
const send = require('send');

const app = express()

const mw1 = (req, res, next) => {
    console.log('mw1');
    next()
}

// 局部生效
app.get('/', mw1, (req, res) => {
    res.send('Home Page')
})

app.get('/user', (req, res) => {
    res.send('User Page')
})
app.listen(80, () => {
    console.log('express server running at ');

})

多个局部生效的中间件

const express = require('express');
const send = require('send');

const app = express()

const mw1 = (req, res, next) => {
    console.log('mw1');
    next()
}
const mw2 = (req, res, next) => {
    console.log('mw2');
    next()
}
// 局部生效
// app.get('/', [mw1,mw2], (req, res) => {  也行
app.get('/', mw1,mw2, (req, res) => {
    res.send('Home Page')
})

app.get('/user', (req, res) => {
    res.send('User Page')
})
app.listen(80, () => {
    console.log('express server running at ');

})

4.中间件的作用

Express中间件,NodeJS全套入门课程,中间件

 

 5.中间件注意事项

中间件必须在路由之前注册

Express中间件,NodeJS全套入门课程,中间件

 

6.中间件分类

  • 应用中间件
  • 路由中间件
  • 错误级别中间件Express中间件,NodeJS全套入门课程,中间件

             错误级别中间件必须在所有路由之后

  • 内置中间件Express中间件,NodeJS全套入门课程,中间件

举例:express.json()

const express = require('express');
const send = require('send');
const app = express()

// 配置解析表单数据的中间件
app.use(express.json())

app.get('/', (req, res) => {
    console.log(req.header, req.body);

    res.send('User Page')
})
app.listen(80, () => {
    console.log('express server running at ');

})

7.自定义中间件

08.中间件-自定义中间件_哔哩哔哩_bilibili文章来源地址https://www.toymoban.com/news/detail-645194.html

到了这里,关于Express中间件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 93 # 实现 express 错误处理中间件

    上一节实现了 express 的中间件,这一节来实现错误处理中间件 执行某一步出错了,统一规定调用 next 传递的参数就是错误信息 先看 express 实现的demo 然后去访问: http://localhost:3000/ 错误处理中间价,里面必须要有 4 个 参数(取函数的长度),放到栈的最底下 下面实现处理逻

    2024年02月07日
    浏览(30)
  • 【Express】文件上传管理 multer 中间件

    Multer是Node.js中用于处理文件上传的中间件。它可以帮助你处理文件上传的相关逻辑,如接收和保存上传的文件、限制文件大小、设置文件类型限制等。只能用于处理 multipart/form-data 类型的表单数据,它主要用于上传文件。 下面是使用Multer中间件的基本步骤: 安装multer:在命

    2024年02月07日
    浏览(34)
  • 编写中间件以用于 Express 应用程序

    中间件 函数能够访问请求对象 ( req )、响应对象 ( res ) 以及应用程序的请求/响应循环中的下一个中间件函数。下一个中间件函数通常由名为  next  的变量来表示。 中间件函数可以执行以下任务: 执行任何代码。 对请求和响应对象进行更改。 结束请求/响应循环。 调用堆栈

    2024年02月10日
    浏览(32)
  • express学习笔记5 - 自定义路由异常处理中间件

    修改router/index.js,添加异常处理中间件 完整代码 创建 utils/constant:(为了方便后期统一维护,单独拉出来定义) 然后刷新http://localhost:8000/user  这就完成了

    2024年02月14日
    浏览(32)
  • express中间件当做前端服务器的安全漏洞处理

    使用express当做node服务器时,发现安全漏洞,记录处理步骤: PS:以下安全内容处理,需要使用到redis进行会话存储、请求计数、请求唯一限制等。为尽量确保开发环境与部署环境一致,请开发环境安装并启动Redis服务。 ** 此文档只是说明记录关键步骤。具体实现代码可参照附

    2024年03月27日
    浏览(36)
  • 【Node.js从基础到高级运用】十三、NodeJS中间件高级应用

    在现代web开发中,Node.js因其高效和灵活性而备受青睐。其中,中间件的概念是构建高效Node.js应用的关键。在这篇博客文章中,我们将深入探讨Node.js中间件的高级应用,包括创建自定义中间件、使用第三方中间件等。我们将从基础讲起,逐步深入,旨在为读者提供全面而深入

    2024年03月22日
    浏览(84)
  • node 第十四天 基于express的第三方中间件multer node后端处理用户上传文件

    Multer 是一个 node.js 中间件,用于处理 multipart/form-data 类型的表单数据,它主要用于上传文件。它是写在 busboy 之上的所以非常高效。 前面我们已经知道了怎样利用express提供的静态资源处理中间件 express.static() 处理用户请求静态资源文件(图片, js, css等) 接下来学习如何处理用

    2024年02月06日
    浏览(33)
  • NestJS入门6:日志中间件

    前文参考: NestJS入门1 NestJS入门2:创建模块 NestJS入门3:不同请求方式前后端写法 NestJS入门4:MySQL typeorm 增删改查 NestJS入门5:加入Swagger ​ ​ ​ logger.middleware.ts修改为: ​     app.modules.ts修改为: ​  可改为星号通配符,表示任意路由 使用postman或swagger测试,后端可以看

    2024年02月21日
    浏览(36)
  • 中间件系列 - Redis入门到实战(基础篇)

    学习视频: 黑马程序员Redis入门到实战教程,深度透析redis底层原理+redis分布式锁+企业解决方案+黑马点评实战项目 中间件系列 - Redis入门到实战 本内容仅用于个人学习笔记,如有侵扰,联系删除 本章学习目标: 初始Redis 认识NoSQL 认识Redis 安装Redis Redis桌面客户端 Redis常见命

    2024年02月04日
    浏览(29)
  • 中间件系列 - Redis入门到实战(原理篇)

    学习视频: 黑马程序员Redis入门到实战教程,深度透析redis底层原理+redis分布式锁+企业解决方案+黑马点评实战项目 中间件系列 - Redis入门到实战 本内容仅用于个人学习笔记,如有侵扰,联系删除 学习目标 Redis数据结构 Redis网络模型 Redis通信协议-RESP协议 我们都知道Redis中保

    2024年02月03日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包