javascript - NodeJs/Express 中未定义请求的路由

标签 javascript node.js express

我想检查用户是否获得授权。如果不是,要呈现的模板应该是我的登录 View 。在我的 app.js 中,我需要我的 router.js

require('./server/router')(app);

我的路由器文件处理不同的路由。

module.exports = function(app){

    app.use(function(req, res, next) {
      if(req.route != '/login'){ // the url is not the login page
        var session = req.session;
        if (session.user == null){ // the user is not authorized
          res.render('login', {
            showHeader: false
          });
        } else { // check the next route
          next();
        }
      } else { // check the next route
        next();
      }
    });

    app.use('/route1', require('./routes/route1'));
    app.use('/route2', require('./routes/route2'));
    app.use('/route3', require('./routes/route3'));

    app.use(function(req, res, next) { // no valid route was found
      res.render('notFound', {
        showHeader: false
      });
    });
};

我的 if 语句 if(req.route != '/login') 始终为 true,因为 req.route 始终返回 undefined .

这里有什么问题或缺失吗?

最佳答案

将得到“/login”

关于javascript - NodeJs/Express 中未定义请求的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48182330/

相关文章:

javascript - 子元素的位置在哪里? - 查询

javascript - 如何在cypress插件中运行es6?

node.js - MongoDB 深度嵌套

javascript - 让 Node.js 支持 JavaScript 文件的 shebang (#!)

javascript - 未捕获的语法错误 : Unexpected token var Node. js

javascript - 您如何在两个浏览器选项卡/窗口之间进行通信?

javascript - 如何简化 Javascript "show/hide on DIV"函数的代码?

javascript - 我可以在循环内使用 res.send() node.js 方法吗?

javascript - $ ("#grid"中的 datetimePicker 列.kendoGrid

node.js - Express:如何将变量传递给挂载的中间件