我是一個新手angular2和koajs。也許這是一個愚蠢的問題。什麼是正確的方式來設置路由角2與koajs
我有如下的路由表的angular2應用:
const appRoutes: Routes = [
{
path: 'pats/report/settings',
component: PatsReportSettingsComponent
},
{
path: 'pats/report/:id',
component: PatsReportComponent,
pathMatch: 'full'
},
{
path: 'pats/report/login',
component: PatsLoginComponent,
pathMatch: 'full'
},
{
path: '.',
redirectTo: 'pats/report/login',
pathMatch: 'full'
},
{
path: '**',
component: Pats404PageComponent,
pathMatch: 'full'
},
];
如果用戶訪問我們通過根URL(http://localhost:3000)的應用程序,然後導航到一個子頁面(如:http://localhost:3000/pats/report/settings),一切都因爲angular2應用程序將在內部處理子頁面導航,並且不會向後端發出http請求。
但是,如果用戶直接訪問我們的應用程序的子頁面url,例如:http://localhost:3000/pats/report/settings,後端koajs應用程序將響應404狀態,因爲它不存在後端路徑「拍/報告/設置」的路線。
什麼是解決此問題的正確方法?
我應該爲後端路由器中的所有客戶端子頁面路徑添加路由並以index.html響應嗎?
感謝,我會檢查它 – ricky
經過[Angular2 URL的樣式(https://angular.io/docs/ts/latest/guide/router.html#!#browser-url-styles)而且似乎不建議使用Hashbang-URL。 – ricky
是的,只是想向你展示這個選項。最佳做法是通過您的koajs後端正確處理「未知的URL」。 – mxii