在NodeJS
express
模块
的文档中,示例代码包含app.use(...)
。
什么是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)
。
问题内容: 查看的框架的随机源文件,有两行我不理解的代码(这些代码行几乎是所有NodeJS文件的代表)。 和 我知道 第一段代码 允许文件中的其余功能公开给NodeJS应用程序使用 ,但我不清楚 它的工作原理 或该行代码的含义。 什么和实际上的意思吗? 我相信第二段代码允许访问文件中的函数,但同样,它是如何做到这一点的。 基本上,这些是什么神奇的话: 和 ? 问题答案: 更具体: 是文件内的全局范
问题内容: 在github上研究node.js源代码时,我已经看过很多次了。 谁能解释这个功能的作用? 问题答案: 该函数返回内部模块,如require。它不是公共的,因此您不应在代码中依赖它,但如果您想了解事物的工作原理,则可以将其用于节点的低级对象。 例如,在这里 注册绑定。它导出 构造函数。在它的进口
Node.js Rest APIs with Express & MySQL example For instruction, please visit: Build Node.js Rest APIs with Express & MySQL More Practice Build Node.js Rest APIs with Express, Sequelize & MySQL Server
我在和。他们每个人具体做什么?
Node.js Rest APIs with Express, Sequelize & MySQL example For more detail, please visit: Build Node.js Rest APIs with Express, Sequelize & MySQL Server side Pagination in Node.js with Sequelize and My
我对诺德很陌生。js我正在尝试使用nodeEmailer发送电子邮件,我目前在控制台上收到一个类型错误。 //错误//[0]类型错误:express。createServer不是应用程序上的函数[0]。在第二层发布(/Users/thomashunt/Desktop/react_express_starter/server.js:33:17)[0]。在下一步处理[as handle_request