Angular-CLI App-Shell: поймать "универсальный" маршрут
Я пытаюсь добавить App-Shell в свое приложение. У меня есть защита маршрута, которая срабатывает во время процесса сборки сервера из-за подстановочного перенаправления.
RouterModule
const routes: Routes = [
{
path: '',
component: RouteOneComponent,
canActivate: [AuthGuard]
},
{
path: '**',
redirectTo: ''
}];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
app.server.module
const routes: Routes = [ { path: 'app-shell', component: AppShellComponent }];
@NgModule({
imports: [
AppModule,
ServerModule,
RouterModule.forRoot(routes)
],
bootstrap: [AppComponent],
declarations: [AppShellComponent]
})
export class AppServerModule { }
Есть ли способ заставить серверную сборку игнорировать подстановочный редирект из клиентского AppRouterModule?
2 ответа
Решение
Моя проблема закончилась не столько о вызове HttpClient, сколько о вызываемых маршрутах. Я обновлю вопрос, чтобы отразить. Если вы используете app-shell прямо сейчас и ваши маршруты имеют path: '**'
в нем вам нужно будет сделать то, что предложено в комментарии к этой проблеме:
Вы используете http HttpClient?
import {HttpClient} from "@angular/common/http"
Если вы делаете так, вы должны удалить и использовать http Http
import {Http} from "@angular/http"
Не забудьте импортировать HttpModule в app.module