javascript - express中的中间件和app.use是什么?

标签 javascript node.js express

只想说开头。如果你认为这是重复的,我真的很抱歉,但我想问你什么是中间件。我知道 stackoverflow 有一些类似的问题,但如果你能回答这个问题,我会很高兴。还有什么是 .use ?我们在哪里使用它?非常感谢!

最佳答案

中间件是一个术语,指的是“预处理”传入请求的请求处理程序。给定的中间件通常会在大量传入请求上运行。通常,它不会发送最终响应,它只是对请求进行一些设置或预处理,然后将请求传递给它的最终处理程序。人们发现有成千上万的事情与中间件有关。

一般的想法是,将中间件放在一个地方并配置它以应用于大量请求比必须将它添加到它应该应用于的每个请求处理程序更容易。

我举几个例子:

  1. 检查请求者是否在网站上通过身份验证/登录。如果没有,则重定向到登录页面。如果是,则将请求传递给实际的页面请求处理程序。
  2. 记录使用情况或性能统计信息。
  3. 预解析查询参数,以便为请求处理程序解析它们
  4. 预解析帖子正文,以便为请求处理程序解析它们
  5. 为响应预设所需的跨域 header

希望您能明白中间件通常用作可以在一个地方完成的预设置工作,而不是必须添加到每个请求处理程序中。

请记住,可以配置中间件以确定它为哪些传入请求运行。它可以仅针对单个 URL(非典型)、整组 URL(例如以特定路径开头的所有内容)或整个网站上的所有 URL。

关于javascript - express中的中间件和app.use是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56717261/

相关文章:

javascript - 在 koa-session 数据库实例上的 get/set/destroy 方法中放置什么?

javascript - 尝试访问js文件中的ejs数组

javascript - 单击按钮时无法更改输入框的值

javascript - 在 d3.js 中从一个圆圈画一条线到另一个圆圈

node.js - 如何检查文件夹是否为空?

node.js - 当使用来自不同本地主机端口的 GET api 时,本地主机上的 Angular 收到 404 - CORS 问题?

javascript - 在 react.js 中,当每个字母都是单独的 <span> (用于动画目的)时,将文本包装在 <p> 标签中

javascript - 自定义 cpanel 登录表单

javascript - 为什么以下 fs.writeFile 只写入最后一个文件中的数据?

javascript - 计算与圆的 Angular 并避开障碍物