2016-11-12 2 views
2

In angular2 dart der Hashbang wird standardmäßig aus dem Routing entfernt, die für nette URLs. Wenn ich die App jedoch mit pub serve ausführe, kann ich keine andere Seite als den root aktualisieren, oder ich bekomme eine 404, die zum Beispiel sagt: "Asset-Web/Dashboard konnte im Paket angular2_quickstart nicht gefunden werden".Angular2 Dart mit Pub dienen Localhost aktualisieren Seite 404

Ich weiß, dass es eine einfache Lösung geben muss.

Gibt es eine Möglichkeit, pub serve zu zwingen, alle Routen auf dem Host zu erfassen und immer index.html wie einzelne Seite Apps tun? Oder wie sieht der Entwicklerworkflow zum Entwickeln und Bedienen Ihrer Anwendung vor Ort aus?

Diese Frage ist ähnlich, aber ich würde es vorziehen, nicht die Hash-Bang verwenden: Angular2 Routing gives 404 when reloading page

Antwort

4

pub serve nicht PathLocationStrategy

Entweder Sie einen Proxy-Server verwenden, nicht unterstützt, die für PathLocationStrategy Unterstützung hinzufügt oder Sie konfigurieren Angular2 zu verwenden HashLocationStrategy

bootstrap(AppComponent, const Provider(LocationStrategy, useClass: HashLocationStrategy)]); 
+0

Danke für die Antwort! Sieht so aus, als ob es auch wichtig ist, 'ROUTER_PROVIDERS' hier hinzuzufügen oder es funktioniert nicht. Und es sollte ein '[' vor dem 'const' oben sein. – Aaron

+0

Sie haben Recht, aber ich habe angenommen, dass Sie es getan haben. Ohne den Router würdest du den 404 nicht bekommen. –

+1

Hier ist auch ein Link zu einem Problem, das in Pub's GitHub existiert https://github.com/dart-lang/pub/issues/1374 – Aaron

Verwandte Themen