[英]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.