javascript - 当 Node/Express 中的请求已附加某些内容时,需要 Require 语句吗?

标签 javascript node.js express

假设我在 Node 中有一个应用程序,该应用程序的主要元素位于根目录下名为 app.js 的文件中。现在假设我在 ./routes/index.js 中有一条路线。

如果 app.js 中的某些中间件将处理程序附加到请求,那么在处理 中的路由时,我是否需要 require 添加该处理程序的库>index.js

即在app.js中:

var flash = require('connect-flash');
...

app.use(flash());

index.js中:

var flash = require('connect-flash'); // ???

router.get('/', function(req, res, next) {

   res.render('index', { message: req.flash('loginMessage') });

});

它似乎可以在没有 index.js 中的 require 语句的情况下工作,但我想确保我在概念上理解了这一点。一旦某些内容附加到请求,它就会与请求一起保留,无论它走到哪里,对吗?

最佳答案

当您创建一个 Express 应用程序时,您可以说创建了一棵“树”,这意味着无论您在何处应用中间件,任何下降的路线都将通过该函数。因此,如果我们将中间件放在应用程序的顶部,所有请求都将通过该函数。您只需在将中间件应用到应用程序的任何地方都需要该中间件即可。

关于javascript - 当 Node/Express 中的请求已附加某些内容时,需要 Require 语句吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47246199/

相关文章:

javascript - JavaScript 中的定时 for 循环

javascript - jquery克隆方法在页面内克隆多个(多个)div(不是单个div多次)

javascript - 将 Sed 函数转变为 JavaScript 正则表达式

javascript - Nunjucks nl2br 不存在?

node.js - promise node.js 类生成器方法

node.js - 如何在 iisnode 中托管服务和静态内容

node.js - 从 Node/Express 中的另一个路由中调用 API 端点

javascript - 是pjscrape慢还是PhantomJS慢?替代刮刀?

Javascript native 等效于 JQuery .each() & $(this)

javascript - ejs模板数据未插入到mongodb中