[英]Angular ngRoute don't work with Express 4
我尝试使用Angular和Express 4设置客户端路由。我使用ngView指南,但没有Express的情况很好,但是启用Express路由时,ngRoute不起作用。 如何设置Express与ngRoute一起使用?
一点代码:
var app = angular.module('app', ['ngRoute']); app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) { $routeProvider .when('/category/:catgegoryName', { templateUrl: 'category', controller: 'categoryController', controllerAs: 'category' }) .when('/category/:catgegoryName/device/:deviceName', { templateUrl: 'device', controller: 'deviceController', controllerAs: 'device' }) .otherwise({ redirectTo: '/' }); $locationProvider.html5Mode(true); } ]);
由于配置了HTML5模式,因此无需在Express端复制相同的路由结构。 相反,您需要确保服务器始终以登录页面(通常为index.html
)响应,在该页面中已配置并引导了Angular应用。
因此,可以说route /category/something
服务器仍然使用index.html
响应。 然后,Angular将解析URL并了解它需要注入与.when('/category/:catgegoryName', {...})
路由相对应的模板和控制器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.