我正在使用keystone并且我有productDetail路由,我可以在res.locals中添加变量以在模板中使用。有没有办法在middleware.js文件中使用res.locals(路由文件)?现在中间件正在路由之前执行,我希望首先执行路由文件。
这是中间件在index.js文件中执行的地方
keystone.pre('routes', middleware.initLocals);
之后我们
exports = module.exports = function(app) {
// Views
app.get('/', routes.views.index);
app.get('/product-detail/:product', routes.views.productDetails);
}
答案 0 :(得分:0)
我不确定我是否收到你的问题,但这可能有所帮助。您可以在<jsp:useBean id="user" class="beans.User" scope="session" >
</jsp:useBean>
<jsp:setProperty property="email" name="user" value="programmingtute.com"/>
<jsp:setProperty property="password" name="user" value="abcdf"/>
<jsp:useBean id="user" class="beans.User" scope="session" >
<jsp:setProperty property="email" name="user" value="programmingtute.com"/>
<jsp:setProperty property="password" name="user" value="abcdf"/>
</jsp:useBean>
(显然首先运行)之后运行所需的自定义中间件。在middleware.initLocals
文件中,您可以拥有两个中间件:
routes/middleware.js
然后,在exports.middleware0 = function (req, res, next) {
// Do some stuff
next();
};
exports.middleware1 = function (req, res, next) {
// Do some other stuff
next();
};
内,您可以将中间件链接在一起:
routes/index.js