gpt4 book ai didi

node.js - res.locals 返回未定义

转载 作者:搜寻专家 更新时间:2023-10-31 22:58:37 24 4
gpt4 key购买 nike

我正在尝试设置一些特定于响应的变量,当我记录它时,我得到了 undefined for res.locals从我的中间件中,但如果我从路由函数中记录它,它会返回函数就好了。

// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(function (res, req, next) {
console.log("res.locals from app.use middleware: ", res.locals);
// res.locals.boom = 'nice';
// res.locals.zoom = 'yeah!';
next();
});
app.use(app.router);
app.use(require('stylus').middleware(path.join(__dirname, 'public')));
app.use(express.static(path.join(__dirname, 'public')));

有什么想法吗?

最佳答案

您的请求和响应对象倒置。显然,如果您知道代码中的差异,那么命名并不重要,但最好保持正确的命名。

app.use( function (request, response, next) {
// stuff
});

我想不起来了,但我相信你想要:

request.app.locals;

使用我上面的例子。同样,不是 100% 确定。您可以随时调出请求对象进行检查。

关于node.js - res.locals 返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20792287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com