Como usar as rotas do AngularJS com o Express (Node.js) quando uma nova página é solicitada?

Estou usando o Express, que carrega o AngularJS de um diretório estático. Normalmente, vou pedirhttp://localhost/, em que o Express me serve meuindex.html e todos os arquivos Angular corretos, etc. No meu aplicativo Angular, eu tenho essas configurações de rotas, que substituem o conteúdo em umng-view:

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

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

$locationProvider.html5Mode(true);

Na minha página principal, eu tenho um link para<a href="/project/{{project.id}}">, que carregará com sucesso o modelo e me direcionará parahttp://localhost/project/3 ou qualquer ID que eu tenha especificado. O problema é quando tento direcionar meu navegador parahttp://localhost/project/3 ou atualizar a página, a solicitação vai para o servidor Express / Node, que retornaCannot GET /project/3.

Como faço para configurar minhas rotas do Express para acomodar isso? Eu estou supondo que vai exigir o uso de$location em Angular (embora eu prefira evitar as feias buscas e #heshes que eles usam), mas não sei como configurar as rotas do Express para lidar com isso.

Obrigado.

questionAnswers(3)

yourAnswerToTheQuestion