返回顶部
首页 > 资讯 > 精选 >Express框架两个内置中间件方法怎么使用
  • 228
分享到

Express框架两个内置中间件方法怎么使用

2023-07-05 10:07:14 228人浏览 安东尼
摘要

这篇文章主要介绍“Express框架两个内置中间件方法怎么使用”,在日常操作中,相信很多人在Express框架两个内置中间件方法怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Express框架两个内置

这篇文章主要介绍“Express框架两个内置中间件方法怎么使用”,在日常操作中,相信很多人在Express框架两个内置中间件方法怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Express框架两个内置中间件方法怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    什么是中间件

    中间件,就是具有串联执行能力的函数,Express中两种层面的中间件。app 层面的中间件, router 层面的中甲件。在 express 中, 一般通过 use 方法和路由的方法添加中间件。

    两个内置的中间件

    • init 中间件方法

    • query 中间件方法

    init 方法

    exports.init = function(app){  return function expressInit(req, res, next){    if (app.enabled('x-powered-by')) res.setHeader('X-Powered-By', 'Express');    req.res = res;    res.req = req;    req.next = next;    setPrototypeOf(req, app.request)    setPrototypeOf(res, app.response)    res.locals = res.locals || Object.create(null);    next();  };};

    expressInit 中间件:

    • 设置 'X-Powered-By' 请求头

    • req/res 对象上添加属性

    • 绑定原型

    • 设置 local

    • 调用 next 方法

    query 中间件

    module.exports = function query(options) {  var opts = merge({}, options)  var queryparse = qs.parse;  if (typeof options === 'function') {    queryparse = options;    opts = undefined;  }  if (opts !== undefined && opts.allowPrototypes === undefined) {    // back-compat for qs module    opts.allowPrototypes = true;  }  return function query(req, res, next){    if (!req.query) {      var val = parseUrl(req).query;      req.query = queryparse(val, opts);    }    next();  };};

    返回一个 query 函数,在 query 函数中使用 parseUrl 和 queryparse 处理了 url 中 query, 到此就恶意直接在 req 中使用 query 了。

    exports.query = require('./middleware/query');

    query 中间件被输出了,可以手动调用。

    被使用

    app.lazyrouter = function lazyrouter() {  if (!this._router) {    this._router = new Router({      caseSensitive: this.enabled('case sensitive routing'),      strict: this.enabled('strict routing')    });    this._router.use(query(this.get('query parser fn')));    this._router.use(middleware.init(this));  }};

    在调用 lazyrouter 函数的地方,都会使用 use 函数添加中间件函数。每一个 app 初始化都会注入此两个中间件。

    到此,关于“Express框架两个内置中间件方法怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

    --结束END--

    本文标题: Express框架两个内置中间件方法怎么使用

    本文链接: https://lsjlt.com/news/351012.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • Express框架两个内置中间件方法怎么使用
      这篇文章主要介绍“Express框架两个内置中间件方法怎么使用”,在日常操作中,相信很多人在Express框架两个内置中间件方法怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Express框架两个内置...
      99+
      2023-07-05
    • Express框架两个内置中间件方法详解
      目录什么是中间件两个内置的中间件init 方法query 中间件被使用小结什么是中间件 中间件,就是具有串联执行能力的函数,Express中两种层面的中间件。app 层面的中间件,...
      99+
      2023-03-07
      Express框架内置中间件 Express框架
    • Koa框架中间件怎么用
      这篇文章主要介绍了Koa框架中间件怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Node 主要用在开发 Web 应用,koa 是目前 ...
      99+
      2024-04-02
    • Node.js中Express框架怎么使用axios同步请求
      这篇文章主要介绍了Node.js中Express框架怎么使用axios同步请求的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Node.js中Express框架怎么使用axios同步请求文章都会有所收获,下面我们...
      99+
      2023-07-06
    • Gin框架怎么使用panic处理中间件
      这篇文章主要介绍“Gin框架怎么使用panic处理中间件”,在日常操作中,相信很多人在Gin框架怎么使用panic处理中间件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Gin框架怎么使用panic处理中间件...
      99+
      2023-07-06
    • Node.js中Express框架使用axios同步请求(async+await)实现方法
      axios一般是作为异步请求使用的,但是某种特殊情况下需要同步请求,如何实现呢? 首先定义一个方法syncAxios let axios = require('axios'); e...
      99+
      2023-05-15
      Node.js Express axios 同步请求 async await
    • node.js怎么使用express-fileupload中间件实现文件上传
      本篇内容介绍了“node.js怎么使用express-fileupload中间件实现文件上传”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!本...
      99+
      2023-06-17
    • vue中qs的两个方法怎么用
      本篇内容主要讲解“vue中qs的两个方法怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue中qs的两个方法怎么用”吧!qs的两个方法是:1、stringify方法,用于将对象序列化成ur...
      99+
      2023-07-04
    • Django框架怎么使用ajax的post方法
      这篇文章主要介绍Django框架怎么使用ajax的post方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式,即模型M,视图...
      99+
      2023-06-08
    • jquery怎么设置单选框为选中(两种方法)
      在前端开发中,单选框是一个非常常见的表单控件。在某些情况下,我们可能需要在页面加载的时候就将某个单选框设置为选中状态,而不是等待用户手动去操作。这时,我们可以使用jQuery来实现这一需求。下面分别介绍两种常用且简单的方法。方法1:使用.p...
      99+
      2023-05-14
    • Golang Gin中间件Next()方法怎么使用
      这篇“Golang Gin中间件Next()方法怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Golang...
      99+
      2023-07-06
    • 工厂方法在Spring框架中怎么运用
      今天小编给大家分享一下工厂方法在Spring框架中怎么运用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、BeanFact...
      99+
      2023-07-04
    • 怎么在php中使用kohana框架设置路由
      本篇文章为大家展示了怎么在php中使用kohana框架设置路由,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。php是什么语言php,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypert...
      99+
      2023-06-14
    • 微前端框架qiankun隔离方法怎么使用
      本文小编为大家详细介绍“微前端框架qiankun隔离方法怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“微前端框架qiankun隔离方法怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。沙箱隔离在基于...
      99+
      2023-07-05
    • 怎么在php中使用lavarel框架导出文件
      怎么在php中使用lavarel框架导出文件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。php有什么用php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了...
      99+
      2023-06-14
    • Linux中使用全局框架怎么实现内存管理
      Linux中使用全局框架怎么实现内存管理,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一.  地址划分。1. CPU地址。CPU地址是指CPU的地址总...
      99+
      2023-06-16
    • 宝塔中ThinkPHP框架使用Redis的方法是什么
      今天小编给大家分享一下宝塔中ThinkPHP框架使用Redis的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Re...
      99+
      2023-07-05
    • thinkphp框架中钩子的配置调用方法是什么
      这篇文章主要讲解了“thinkphp框架中钩子的配置调用方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“thinkphp框架中钩子的配置调用方法是什么”吧!thinkphp的钩子行为...
      99+
      2023-06-21
    • 怎么使用LINQ Intersect方法比较两个字符串数组
      你可以使用LINQ Intersect方法来比较两个字符串数组,找出它们共同的元素。下面是一个示例: using System; u...
      99+
      2024-04-02
    • Go语言中怎么使用ORM框架构造查询条件
      这篇文章主要介绍了Go语言中怎么使用ORM框架构造查询条件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Go语言中怎么使用ORM框架构造查询条件文章都会有所收获,下面我们一起来看看吧。构造查询条件worm是一款...
      99+
      2023-07-04
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作