Jak korzystać z tras AngularJS przy użyciu Express (Node.js), gdy wymagana jest nowa strona?

Używam Expressa, który ładuje AngularJS z katalogu statycznego. Zwykle zażądamhttp://localhost/, w którym Express służy mi moimindex.html i wszystkie poprawne pliki Angulara itp. W mojej aplikacji Angular mam te konfiguracje tras, które zastępują zawartość wng-view:

$routeProvider.when('/', {
    templateUrl: '/partials/main.html',
    controller: MainCtrl,
});

$routeProvider.when('/project/:projectId', {
    templateUrl: '/partials/project.html',
    controller: ProjectCtrl,
});

$locationProvider.html5Mode(true);

Na mojej stronie głównej mam link do<a href="/project/{{project.id}}">, który pomyślnie załaduje szablon i skieruje mnie dohttp://localhost/project/3 lub jakikolwiek inny identyfikator, który podałem. Problem polega na tym, że próbuję skierować moją przeglądarkę nahttp://localhost/project/3 lub odśwież stronę, żądanie przechodzi do serwera Express / Node, który zwracaCannot GET /project/3.

Jak skonfigurować moje trasy ekspresowe, aby dostosować się do tego? Zgaduję, że będzie to wymagało użycia$location w Angular (chociaż wolałbym unikać brzydkich wyszukiwań i #hashów, których używają), ale nie mam pojęcia o tym, jak skonfigurować trasy Express, aby sobie z tym poradzić.

Dzięki.

questionAnswers(3)

yourAnswerToTheQuestion