节点redirect不能在angular度上工作

嗨,我是新的节点,我正在build立一个简单的MEAN堆栈应用程序,以减less我发送像这样的前端文件的代码

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

我也build立了一个简单的authentication中间件

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

我试图在angular度上使用这个中间件。 但是这不工作,当我浏览我的angular度的应用程序(它工作时,我直接把url到地址栏)我也删除了/#/这是由angular添加。

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

我正在使用ui路由器进行路由。

你应该redirectangular度 ,而不是node.js应用程序。 例如,

 requireLogin = function (req, res, next) { if (!req.user) { console.log('User does not exist.'); return false; // } else { next(); } }; app.use('/rooms', requireLogin); 

那么,除非有用户login,否则/rooms将无法访问。

后端路由(明确的):这些是最终用户不必知道或甚至使用它们的路由(你的angular度应用将使用它们与后端进行通信以处理其数据,但最终用户不会把它们直接在浏览器上))。

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

在MEAN应用程序中读取Express.js或angular来处理路由? 更多细节。