Nodejs, как локальные ответы на каждом представлении get на app.use - PullRequest
0 голосов
/ 21 октября 2018

Я пытаюсь обработать простую информацию о пользователях через куки, эта информация видна в моем макете через res.render, но я посчитал ее очень утомительной, так как это всегда будет простая информация, и мне придется делать это в каждом.get (), затем в app.js я сделал это:

app.js

app.use(function(req,res, next){
  var cookies = req.cookies;
  if(!cookies.UserData){
    console.log('cookies no exists');
  }
  else{
    console.log('cookies');
    res.locals.user = cookies.UserData;
    next();
  }

});
app.use(function(req, res, next) {
  var err = new Error('Not Found');
  err.status = 404;
  next(err);
});

layout.ejs

<%- user.username %>

но "user" не былопределено, но в моем error.ejs Когда генерировалось 404, я помещал "<%- user.username %>" в него, и оно работало.

, но оно работает только на 404 перехватах, а не вообще, что я делаю неправильно?как мне это сделать?

1 Ответ

0 голосов
/ 22 октября 2018

как я это решил

В моем промежуточном программном обеспечении уровня маршрутизатора:

var express = require('express');
var router = express.Router();


router.use(function(req,res, next){
  var cookies = req.cookies;
  if(!cookies.UserData){
    console.log('cookies no exist');
  }
  else{
    console.log('cookies');
    res.locals.user = cookies.UserData;
    next();
  }
});

Я поставил его первым на уровне маршрутизаторапромежуточное программное обеспечение, прежде всего другие методы http

...