2016-11-12 59 views
2

在angular2 dart中,hashbang從默認路由中移除,這使得網站更加美觀。但是,當我使用pub服務運行應用程序時,我無法刷新除根之外的任何頁面,或者我得到一個404例如「在angular2_quickstart包中找不到資產Web /儀表板」。Angular2 Dart與酒吧服務本地主機刷新頁面404

我知道必須有一個簡單的解決方案。

有沒有一種方法可以強制pub發佈主機中的所有路由,並且始終爲index.html提供像單頁應用那樣的服務?或者本地開發和提供應用程序的開發人員工作流程是什麼?

這個問題是相似的,但我不希望使用hashbang:Angular2 Routing gives 404 when reloading page

回答

4

pub serve不支持PathLocationStrategy

無論你使用的是代理服務器,增加了PathLocationStrategy支持或配置Angular2到使用HashLocationStrategy

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

感謝您的回答!看起來在這裏添加'ROUTER_PROVIDERS'也很重要,否則它不起作用。上面的'const'之前應該有一個'[''。 – Aaron

+0

你是對的,但我認爲你做到了。沒有路由器,你不會得到404. –

+1

這裏也是一個存在於pub的github中的問題的鏈接https://github.com/dart-lang/pub/issues/1374 – Aaron

相關問題