O roteador do Angular 2 está quebrado ao usar rotas HTML5?

Toda essa syntax de novas rotas parecia boa demais para ser verdade e agora estou pensando que realmente é. Eu desisti de tentar fazê-lo funcionar e aqui estou percebendo que nem mesmo o principal exemplo da página do Angular 2 funciona. Se você abrir o exemplo ao vivo e tentar apenas clicar, ele funciona legal e você pode ver que o caminho no URL é alterado, mas está apenas mudando a String que o caminho realmente não existe, se você copiar seu URL e enviá-lo para alguém, eles receberão o seguinte erro:

{ "statusCode": 404, "error": "Not Found" } 

Inferno, mesmo se você acabou de atualizar a página, você receberá o mesmo erro.

Se você quiser reproduzir o problema, abra este URL:

https://angular.io/resources/live-examples/tutorial/ts/plnkr.html

Clique no botão “Iniciar a visualização em uma janela separada” no canto superior direito da visualização ao vivo, espere até que ela carregue a página e quando você vir a URL mudando para algo como:

http://run.plnkr.co/KMzM8hkaCyhlnf3b/dashboard

faça um F5 para atualizar a página e você receberá o erro.

Isso é um bug, é o jeito que deveria funcionar, ou algo que eles nem tentaram? Eles já estão começando novamente com uma implementação ruim do roteador ou eu estou totalmente perdido em como estou tentando fazer isso funcionar? Conselho por favor !

Eu estou supondo que estou melhor usando a implementação da hashtag.

Na verdade, é normal que você tenha um erro 404 ao carregar seu aplicativo, pois o endereço real no navegador está sendo atualizado (e sem a abordagem # / hashbang). Por padrão, o histórico de HTML5 é usado para reutilização no Angular2.

Se você não quer ter um erro 404, você precisa atualizar seu servidor para servir o arquivo index.html para cada caminho de rota.

Esse link pode ajudá-lo também: Quando atualizo meu site, recebo um 404. Isso é feito com o Angular2 e o Firebase .

Espero que ajude você, Thierry

Isso é como projetado (por HTML5 não introduzido pelo Angular). Alterne para HashLocationStrategy ou use um servidor que saiba como manipular (redirect) essas solicitações. Veja também https://github.com/angular/angular/issues/4735