Я новичок в angular2 и koajs. Может быть, это глупый вопрос.Каков правильный способ установки маршрутизации для angular2 с 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, приложение backend koajs ответит с статусом 404, так как в нем нет пути для «pats/report/settings» на бэкэнд.
Каков правильный путь для решения этой проблемы?
Должен ли я добавлять маршрут для всех путей дочерней страницы клиента в базовом маршрутизаторе и отвечать с помощью index.html?
спасибо, я проверю – ricky
Checked [Angular2 URL-стили] (https://angular.io/docs/ts/latest/guide/router.html#!#browser-url-styles), и кажется, что URL-адрес Hashbang не рекомендуется. – ricky
Да, просто хотел показать вам этот вариант. Лучшей практикой будет правильная обработка «неизвестных URL-адресов» через ваш koajs-backend. – mxii