Угловые приложения с консолью AWS усиливают - маршрутизация - PullRequest
0 голосов
/ 15 февраля 2019

У меня проблемы с пониманием правил перезаписи и перенаправления с помощью Angular и AWS Amplify Console.

В моем угловом приложении у меня есть знакомые маршруты:

const routes: Routes = [
  { path: '', redirectTo: '/login', pathMatch: 'full' },
  { path: 'frontpage', redirectTo: '/somepath/frontpage', pathMatch: 'full'},
  { path: 'login', component: LoginComponent },
  { path: 'somepath', component: SecureComponent, children: [
    { path: '', redirectTo: '/frontpage', pathMatch: 'full' },
    { path: 'frontpage', component: ForsideComponent }
  ]}
];

Использование локального сервера (нгserve / localhost) все работает нормально.

Но когда мое приложение разворачивается через консоль Amplify, единственный работающий путь - это somedomain.amplifyapp.com/, который затем перенаправляется на somedomain.amplifyapp.com/login (как и должно быть).Но при вводе somedomain.amplifyapp.com/login, somedomain.amplifyapp.com/somepath/frontpage или следующих ссылках я получаю страницу с отказом в доступе xml.

Поведение, описанное выше, с этим правилом перезаписи и перенаправления:

[
    {
        "source": "**",
        "target": "/index.html",
        "status": "200",
        "condition": null
    }
]

Кто-нибудь знает, какнастроить правила перезаписи и перенаправления для работы с Angular Router?

1 Ответ

0 голосов
/ 15 февраля 2019

Нашел ответ в документах.Оставляет ответ, если кому-то еще интересноследующее правило (с регулярным выражением):

[
    {
        "source": "</^[^.]+$|\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf)$)([^.]+$)/>",
        "target": "/index.html",
        "status": "200",
        "condition": null
    }
]
...