Express 将处理服务器端路由,Angular 将处理任何客户端路由。
服务器端路由使用服务器端编译器生成网页,然后将网页代码发送到浏览器进行渲染。当服务器(Express/Node)接收到请求时会发生这种情况,这通常通过您的 index.js(在路由目录中)或 routes.js,您有一些代码来路由该请求:
app.get('/', function (req, res) {
res.send('root');
});
您可以在此处了解有关 Express 路由的更多信息:http://expressjs.com/en/guide/routing.html
客户端路由正在使用 Javascript 来更改现在加载到浏览器中的已呈现代码。所以所有这些路由都发生在浏览器中。 Angular 在其路由系统中使用模板,因此您可以在用户导航时加载不同的模板,而无需强制浏览器加载新页面。您的角度路由将位于公共目录中的 app.js 中,路由代码如下所示:
angular.module('pathApp',[] ,function($routeProvider, $locationProvider){
$routeProvider
.when('/Book/Delete', {
template: '<div class="box" ng-class="classname">Delete</div>',
controller: function($scope) {$scope.classname="delete"}
})
.when('/Book/Show', {
template: '<div class="box" ng-class="classname">Show</div>',
controller: function($scope) {$scope.classname="show"}
})
.otherwise({redirectTo: '/Book/Error'});
$locationProvider.html5Mode(true);
});
您可以在此处了解有关角度路由的更多信息:
https://docs.angularjs.org/api/ngRoute/service/$route