栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

NodeJS / Express:什么是“ app.use”?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

NodeJS / Express:什么是“ app.use”?

app对象在创建Express服务器时实例化。它具有一个可以在其中定制的 _ 中间件
堆栈_

app.configure()
(现在在4.x版中已弃用)。

要设置中间件,您可以

app.use(<specific_middleware_layer_here>)
为要添加的每个中间件层调用(可以对所有路径通用,也可以仅在服务器处理的特定路径上触发),并将其添加到Express中间件堆栈中。中间件层可以在的多个调用中一个接一个地添加
use
,甚至可以一次调用一次全部添加。有关更多详细信息,请参见
use
文档。

为了举例说明Express Middleware的概念,这是将我的应用程序对象作为JSON登录到控制台时我的应用程序中间件堆栈(app.stack)的外观:

stack:    [ { route: '', handle: [Function] },     { route: '', handle: [Function: static] },     { route: '', handle: [Function: bodyParser] },     { route: '', handle: [Function: cookieParser] },     { route: '', handle: [Function: session] },     { route: '', handle: [Function: methodOverride] },     { route: '', handle: [Function] },     { route: '', handle: [Function] } ]

您可能可以推断出,我叫

app.use(express.bodyParser())
app.use(express.cookieParser())
等,这将这些表达中间件“层”添加到中间件堆栈中。请注意,这些路由是空白的,这意味着当我添加这些中间件层时,我指定了它们会在任何路由上触发。如果我添加了一个仅在路径
/user/:id
上触发的自定义中间件层,该路径将
route
在上面的堆栈打印输出中的那个中间件层对象的字段中反映为字符串。

每层本质上都添加了一个功能,该功能专门处理您通过中间件的流程。

例如通过添加

bodyParser
您确保服务器通过快速中间件处理传入的请求 。因此,
现在解析传入请求的主体是中间件在处理传入请求时所采用的过程的一部分 -全部是因为您调用了
app.use(bodyParser)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/484595.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号