Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular CLI应用程序外壳:被“抓到”;“一网打尽”;路线_Angular_Angular Cli_App Shell - Fatal编程技术网

Angular CLI应用程序外壳:被“抓到”;“一网打尽”;路线

Angular CLI应用程序外壳:被“抓到”;“一网打尽”;路线,angular,angular-cli,app-shell,Angular,Angular Cli,App Shell,我正在尝试将应用程序外壳添加到我的应用程序。我有一个路由守卫,在服务器构建过程中由于通配符重定向而被触发 路由模块 const routes: Routes = [ { path: '', component: RouteOneComponent, canActivate: [AuthGuard] }, { path: '**', redirectTo: '' }]; @NgModule({ imports: [RouterModul

我正在尝试将应用程序外壳添加到我的应用程序。我有一个路由守卫,在服务器构建过程中由于通配符重定向而被触发

路由模块

const routes: Routes = [
  {
    path: '',
    component: RouteOneComponent,
    canActivate: [AuthGuard]
  },
  {
    path: '**',
    redirectTo: ''
  }];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }
const routes: Routes = [ { path: 'app-shell', component: AppShellComponent }];

@NgModule({
  imports: [
    AppModule,
    ServerModule,
    RouterModule.forRoot(routes)
  ],
  bootstrap: [AppComponent],
  declarations: [AppShellComponent]
})
export class AppServerModule { }
应用程序服务器模块

const routes: Routes = [
  {
    path: '',
    component: RouteOneComponent,
    canActivate: [AuthGuard]
  },
  {
    path: '**',
    redirectTo: ''
  }];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }
const routes: Routes = [ { path: 'app-shell', component: AppShellComponent }];

@NgModule({
  imports: [
    AppModule,
    ServerModule,
    RouterModule.forRoot(routes)
  ],
  bootstrap: [AppComponent],
  declarations: [AppShellComponent]
})
export class AppServerModule { }

有没有办法让服务器构建忽略来自客户端AppRouterModule的通配符重定向?

您使用的是HttpClient的http吗

import {HttpClient} from "@angular/common/http"
如果您这样做,您应该删除并使用http的http

import {Http} from "@angular/http"

别忘了在app.module中导入HttpModule

我的问题最终不是关于HttpClient调用,而是关于被调用的路由。我将更新问题以反映。如果您现在正在使用app shell,并且您的路由中有一个
路径:'**'
,则您需要执行本期评论中的建议:


也许,您应该在导航过程中使用一个来获取数据,而不是一个防护。也许,但是http调用失败是否仍然会破坏服务器构建?问题似乎不是HttpClient,而是它没有进入应用程序外壳路径。在这里跟踪问题:是的,我正在使用HttpClient。为清晰起见,更新OP。