node-express太多重定向

Tam*_*lik 5 node.js express

我的路线设置如下

当我导航到' http:// localhost / '时,我收到一条错误,说'localhost重定向了你太多次',页面的URL(显示在浏览器的URL栏中)是http:// localhost /!/仪表板 - 所以它确实看起来像是被重定向,但我不明白为什么它会陷入无限循环

 // Public Routes
 app.use('/', function(req,res){
      res.redirect('/!/dashboard');
 });
 app.use('/login', routes.login);
 app.use('/!/dashboard', isLoggedIn, routes.dashboard);

// Check If Logged In
function isLoggedIn(req,res,next){
    if (req.isAuthenticated()){
      return next();
    } else {
      res.redirect('/login');
    }
};
Run Code Online (Sandbox Code Playgroud)

rob*_*lep 6

你不应该使用app.use('/', ...),因为它将匹配任何以a 开头的 URL /.

相反,使用app.all:

app.all('/', function(req,res){
  res.redirect('/!/dashboard');
});
app.use('/login', routes.login);
app.use('/!/dashboard', isLoggedIn, routes.dashboard);
Run Code Online (Sandbox Code Playgroud)