Как использовать маршруты AngularJS с Express (Node.js) при запросе новой страницы?
Я использую Express, который загружает AngularJS из статического каталога. Обычно я буду проситьhttp://localhost/
, в котором экспресс обслуживает меня мойindex.html
и все правильные файлы Angular и т. д. В моем приложении Angular у меня есть эти настройки маршрутов, которые заменяют содержимое вng-view
:
$routeProvider.when('/', {
templateUrl: '/partials/main.html',
controller: MainCtrl,
});
$routeProvider.when('/project/:projectId', {
templateUrl: '/partials/project.html',
controller: ProjectCtrl,
});
$locationProvider.html5Mode(true);
На моей главной странице есть ссылка на<a href="/project/{{project.id}}">
, который успешно загрузит шаблон и направит меня кhttp://localhost/project/3
или любой другой идентификатор, который я указал. Проблема в том, когда я пытаюсь направить свой браузер наhttp://localhost/project/3
или обновить страницу, запрос отправляется на сервер Express / Node, который возвращаетCannot GET /project/3
.
Как мне настроить мои экспресс-маршруты для этого? Я предполагаю, что это потребует использования$location
в Angular (хотя я бы предпочел избежать уродливых поисков и хешей, которые они используют), но я не знаю, как настроить маршруты Express для этого.
Благодарю.