首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >高速公路回购文件

高速公路回购文件
EN

Stack Overflow用户
提问于 2017-07-14 03:33:51
回答 1查看 41关注 0票数 1

我想了解Expressjs的内部工作原理(只是好奇)。很多事情都很清楚,但我无法理解路由和中间件的链接。高速公路如何将所有路由和中间件添加到path /中,以及如何在内部使用中间件保持路由堆栈

因此,如果您提供了一些文档或链接,我将非常感谢您,我从哪里获得了对高速公路内部工作方式的了解。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-27 19:43:16

ExpressJS只是一个HTTP,允许您路由和操作接收到的请求并返回响应。

因此,如果您仔细查看下面的HTTP数据包格式,

您可以在第一行中找到方法和路径。

因此,在这里,快速路由器基本上有一个regex匹配器,它试图将它接收到的HTTP请求与在express应用程序中声明的预定义路由相匹配。

如果您检查L:43路由器,这里将显示您声明的路由只是一个包含3个常量的函数:

  1. 路径-这将是一个匹配的路径。
  2. 堆栈-遵循适当的格式,使用/分隔符对URL进行分解,并按其解析顺序形成堆栈,该堆栈由另一个称为layer的函数组成。
  3. 方法-方法是我们与路径一起声明的HTTP方法。

解析

因此,当提出请求时,让我们假设:http://localhost:8000/user/1/test

  1. 我们得到路径:/user/1/test
  2. 路由器的手柄功能被执行。然后将该路径分解为多个层,并形成一个堆栈:“user”、“*”、“test”
  3. 然后,这个堆栈与在应用程序中预先声明并用作Route函数对象的路由对象相匹配。
  4. 一旦找到匹配,回调就会执行!
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45094139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档