0

我正在尝试将 App-Shell 添加到我的应用程序中。由于通配符重定向,我有一个在服务器构建过程中被触发的路由保护。

路由器模块

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 的通配符重定向?

4

2 回答 2

0

我的问题最终不是关于 HttpClient 调用,而是更多关于被调用的路由。我会更新问题以反映。如果您现在正在使用 app-shell 并且您的路线中有一个path: '**',那么您需要执行此问题评论中的建议:

https://github.com/angular/angular-cli/issues/8929#issuecomment-361884581

于 2018-02-01T20:00:23.953 回答
-1

您使用的是 HttpClient 的 http 吗?

import {HttpClient} from "@angular/common/http"

如果你这样做,你应该删除并使用 Http 的 http

import {Http} from "@angular/http"

不要忘记在 app.module 中导入 HttpModule

于 2018-01-24T04:00:19.553 回答