假设我在 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/