Angular-CLI App-Shell:被"catch-all"路由捕获



我正在尝试将 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。

相关内容

  • 没有找到相关文章

最新更新