Доступ к глобальным переменным из файла App.js во внешних файлах .js (Express) - PullRequest
0 голосов
/ 24 июня 2019

В настоящее время я работаю над созданием глобального пользовательского объекта для моего приложения 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', она должна как минимум регистрировать пользователя в моей консоли.

1 Ответ

0 голосов
/ 24 июня 2019

Оказывается, что для того, чтобы это работало, глобальная переменная должна быть установлена ​​как

app.use((req,res,next)=> {
    app.locals.user = 'user';
    next();
});

Тогда к ней нужно будет обращаться как

console.log(req.app.locals.user);

в других файлах

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...