我正在尝试将 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的通配符重定向?
我的问题最终不是关于 HttpClient 调用,而是关于被调用的路由。我将更新问题以反映。如果您现在正在使用 app-shell,并且您的路由中有path: '**'
,则需要执行此问题评论中的建议:
https://github.com/angular/angular-cli/issues/8929#issuecomment-361884581
你使用的是 httpClient 的 http 吗?
import {HttpClient} from "@angular/common/http"
如果你这样做,你应该删除并使用 http 的 http
import {Http} from "@angular/http"
不要忘记在app.module中导入HttpModule。