express框架中间件

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

1.介绍

说明:Express框架中间件是指在处理HTTP请求前或后对请求和响应进行处理的函数。具体而言,中间件可以:

  1. 执行一些公共的逻辑,比如身份验证、日志记录、错误处理等。
  2. 修改请求和响应,比如缓存、压缩等。
  3. 控制请求流,比如路由控制、URL重定向等。

Express中间件可以是一个函数或是一组函数,它们按照定义的顺序依次执行。

2. 全局中间件

2.1介绍

说明:全局中间件是指在应用程序中处理每个请求之前和之后执行的中间件。这些中间件可以用于执行各种任务,例如身份验证、日志记录、处理错误等。在Express.js中,可以通过app.use()函数将中间件添加到应用程序中,使其成为全局中间件。这样,每个请求都会经过这个中间件,以便在应用程序中进行统一处理。

2.2声明中间件(其实就是一个函数,函数有三个形参而已)

// 声明中间件函数
function recordMiddle(req,res,next){
    //服务器的访问日志
    //获取url和ip
    let {url,ip}=req
    //将信息保存在文件中
    fs.appendFileSync(path.resolve(__dirname,"./access.log"),`${url} ${ip}\r\n`)
    //调用next
    next()
   
}

说明:next()是一个函数,表示中间件函数处理完当前请求后,将请求转移给下一个中间件函数来处理。如果当前中间件函数不调用next(),则请求就会被阻塞,无法继续向下执行。

2.3使用中间件

//使用中间件函数
app.use(recordMiddle)

 2.4完成获取url地址练习

const express=require("express")

const fs=require("fs")

const path=require("path")

const app=express()

// 声明中间件函数
function recordMiddle(req,res,next){
    //服务器的访问日志
    //获取url和ip
    let {url,ip}=req
    //将信息保存在文件中
    fs.appendFileSync(path.resolve(__dirname,"./access.log"),`${url} ${ip}\r\n`)
    //调用next
    next()
   
}
//使用中间件函数
app.use(recordMiddle)


app.get('/home',(req,res)=>{
 res.send("前台首页")
})

app.get('/admin',(req,res)=>{
    res.send("后台首页")
})

app.all('/*',(req,res)=>{
    res.send("<h1>404</h1>")
})

app.listen(9000,()=>{
    console.log(`9000端口启动成功`);
})

2.5效果

3.路由中间件

3.1介绍

说明:路由中间件是一个处理HTTP请求的函数,它根据请求的HTTP方法和路由路径来匹配一个或多个中间件函数,在这些中间件函数中执行一些操作,最终返回一个HTTP响应。

3.2声明中间件函数

//声明中间件,放在受约束的规则当中
let checkCode = (req, res, next) => {
    // 判断url中code是否包含521
    if (req.query.code === "521") {
      next();
    } else {
      res.send("无效");
    }
  };

3.3使用中间件(放在受约束的规则当中)

app.get("/pay", checkCode, (req, res) => {
  res.send("支付页面");
});

说明:当url地址有/pay的情况下,执行checkCode中间件函数。如果请求参数的code=521,那么就继续进行,如果没有,那么则无效。

3.4练习

说明:针对/admin /setting 的请求,需要URL携带code=521参数,如没有携带提示[无效]。

//针对/admin /setting 的请求,需要URL携带code=521参数,如没有携带提示[无效]
const express = require("express");

const app = express();

app.get("/home", (req, res) => {
  res.send("前台首页");
});

//声明中间件,放在受约束的规则当中
let checkCode = (req, res, next) => {
  // 判断url中code是否包含521
  if (req.query.code === "521") {
    next();
  } else {
    res.send("无效");
  }
};

app.get("/admin", checkCode, (req, res) => {
  res.send("后台首页");
});

app.get("/pay", checkCode, (req, res) => {
  res.send("支付页面");
});

app.all("*", (req, res) => {
  res.send("<h1>404</h1>");
});
app.listen(9000, () => {
  console.log(`9000端口启动成功`);
});

3.5效果

express框架中间件,Node.js,express,中间件,node.js

 express框架中间件,Node.js,express,中间件,node.js文章来源地址https://www.toymoban.com/news/detail-543212.html

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

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

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

相关文章

  • 【Node.js从基础到高级运用】十三、NodeJS中间件高级应用

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

    2024年03月22日
    浏览(98)
  • 在Node.js中,什么是中间件(middleware)?它们的作用是什么?

    聚沙成塔·每天进步一点点 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而

    2024年02月06日
    浏览(43)
  • express框架中间件

    说明:Express框架中间件是指在处理HTTP请求前或后对请求和响应进行处理的函数。具体而言,中间件可以: 执行一些公共的逻辑,比如身份验证、日志记录、错误处理等。 修改请求和响应,比如缓存、压缩等。 控制请求流,比如路由控制、URL重定向等。 Express中间件可以是一

    2024年02月13日
    浏览(35)
  • 第九篇:node静态文件服务(中间件)

     🎬 江城开朗的豌豆 :个人主页  🔥 个人专栏  :《 VUE 》 《 javaScript 》  📝  个人网站  :《 江城开朗的豌豆🫛 》  ⛺️ 生活的理想,就是为了理想的生活 ! 当今互联网时代,Node.js 成为了最受欢迎的服务器端开发平台之一。作为一名小白,学习 Node.js 可能会让你感

    2024年02月20日
    浏览(40)
  • cool Node后端 中实现中间件的书写

    1.需求 在node后端中,想实现一个专门鉴权的文件配置,可以这样来解释 就是 有些接口需要token调用接口,有些接口不需要使用token 调用  这期来详细说明一下      什么是中间件中间件顾名思义是指在请求和响应中间,进行请求数据的拦截处理,数据校验,并且进行逻辑处理

    2024年02月20日
    浏览(43)
  • Express中间件

    客户端发起的任何请求,到达服务器之后,都会触发的中间件 多个局部生效的中间件   中间件必须在路由之前注册   应用中间件 路由中间件 错误级别中间件              错误级别中间件必须在所有路由之后 内置中间件 举例:express.json() 08.中间件-自定义中间件_哔哩

    2024年02月13日
    浏览(44)
  • 初识express/路由/中间件

                                     ​​​​​​​        

    2024年02月11日
    浏览(63)
  • 93 # 实现 express 错误处理中间件

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

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

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

    2024年02月07日
    浏览(43)
  • 09-Node.js—express框架

    express 是一个基于 Node.js 平台的极简、灵活的 WEB应用开发框架,官方网址:https://www.expressjs.com.cn/ 简单来说,express 是一个封装好的工具包,封装了很多功能,便于我们开发 WEB 应用(HTTP 服务) 大家都应该玩过我的世界,在我的世界中如果纯靠手去砍树或者挖矿,效率是很低

    2023年04月26日
    浏览(50)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包