节点重定向不工作角度

时间:2015-07-01 06:59:45

标签: angularjs node.js express angular-ui-router

嗨,我是节点的新手,我正在构建一个简单的MEAN堆栈应用,以减少我发送这样的前端文件的代码

app.use(express.static(path.join(__dirname, 'public')));

我还为简单身份验证构建了一个简单的中间件

requireLogin = function (req, res, next) {
  if (!req.user) {
      console.log('redirecting :)');
      res.redirect('/');
  } else {
      next();
  }
};

app.use('/rooms',requireLogin);

我正试图在有角度的路线上使用这个中间件。 但是当我在我的角度应用程序中导航时它不起作用(当我直接将URL放到地址栏时它起作用)我还删除了由角度添加的/#/。

    $locationProvider.html5Mode({
    enabled: true,
    requireBase: false
});

我正在使用ui-router进行路由。

1 个答案:

答案 0 :(得分:3)

您应该在 angular 上重定向,但不能在node.js应用程序上重定向。例如,

def self.first_order_count
  all.map(&:first_for_customer?).count(true)
end

然后,除非有用户登录,否则requireLogin = function (req, res, next) { if (!req.user) { console.log('User does not exist.'); return false; // } else { next(); } }; app.use('/rooms', requireLogin); 无法访问。

  

后端路由(快速路由):这些是最终用户不必了解甚至使用它们的路由(您的角度应用将使用它们与后端通信以处理其数据,但是最终用户不会将它们直接放在浏览器上))。

     

前端路由(有角度的路由):路由是否映射到应用程序的不同页面,因此,最终用户可以使用它们直接访问应用程序的某些部分。

阅读Express.js or angular for handling routes in a MEAN application?了解详情。