在MEAN应用程序中处理路由的Express.js或angular?

我对Nodejs / express / angular的所有东西都是全新的,而且我遇到了困扰我的一个问题。

当你有一个MEAN栈时,似乎路由可以被Express.jsAngular处理。

Angular

例如,如果我在Angular中定义一条路线,我可以这样做:

 var app = angular.module("app", []).config(function($routeProvider) { $routeProvider.when('/login', { templateUrl: '/templates/login.html', controller: 'LoginController' }); $routeProvider.when('/front', { templateUrl: '/templates/front.html', controller: 'FrontController' }); $routeProvider.otherwise({redirectTo: '/front'}) }); 

但是用express.js我做

 app.get('/',function(req,res){ res.sendfile('templates/angular.html'); }); 

所以我的问题是

什么时候使用angular路由,什么时候使用快速路由?

(我可能会错过这里很明显的东西,但是我希望你能指出来)

这两个在一个页面上的应用程序服务于不同的目的

该应用程序将执行所有的CRUD(你创build/读取/更新/删除你的东西,例如:项目,用户,账单等端点)。 此外,它会做所有的身份validation的东西(如/login/register )。

所有这些都需要路由,因为你希望像/api/users抓取所有的用户。 所有这些路由,AKA CRUD路由和authentication路由进入express.js路由器。 为什么呢? 因为这些是后端的路线。

另一方面,你有你的angular度应用程序,其中包含您的应用程序的视觉部分,并在那里你想要一些路线。 你想/指向你的家,你会希望/users有一个页面,你列出你的用户甚至/users/add到一个页面的表格添加新用户。

你可以这样看:

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

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