我目前正在为Node应用程序创建一个全局用户对象(最终将使用pug视图引擎),并且希望能够访问与该项目有关的每个js文件中的对象。这包括(.pug文件js文件)。
我尝试使用res.locals.user = "user";
创建一个全局变量。尝试访问.pug文件中的变量时,它将起作用,并将提供存储在变量中的信息。
//Created the global variable which only works with .pug files.
app.use((req,res,next)=> {
res.locals.user = 'user';
next();
});
//From file outside of app.js. returns undefined
console.log(req.user);
理想情况下,我希望可以从项目中的每个文件访问用户对象。例如,由于该变量等于'user',因此它应至少在我的控制台中记录用户。
答案 0 :(得分:0)
事实证明,要使其正常工作,必须将全局变量设置为
app.use((req,res,next)=> {
app.locals.user = 'user';
next();
});
然后将需要以
对其进行访问console.log(req.app.locals.user);
在其他文件中