Angular 将应用程序部署到 heroku 时路由不起作用

Angular routes don't work when deploying an app to heroku

我在 heroku 上部署了一个应用程序

[https://feupscomputacionapp.herokuapp.com/][1]

所有路由在页面导航时都有效,但在刷新、手动输入或点击返回时,无法识别上一个或当前路由,并出现“无法获取”错误

这是我的应用-routing.module.ts

  const routes: Routes = [
  {path:'',component:HomeComponent},
  {path:'federacion',component:AcercaFederacionComponent},
  {path:'desarrollador',component:AcercaDesarrolladorComponent},
  {path:'perfilDocente',component:AcercaDocentesComponent},
  {path:'proyectos',component:ProyectosComponent},
  {path:'eventos',component:EventosComponent},
  {path:'laboratorios',component:LaboratoriosComponent},
  {path:'lab360/:id',component:Lab360Component},
  {path:'contactanos',component:ContactanosComponent},
  {path:'crudUsuarios',component:CrudUsuariosComponent},
  {path:'crear-usuario',component:CrearUsuarioComponent},
  {path:'login',component:LoginComponent},
  {path:'error',component:Error404Component},
  {path:'editar-usuario/:correo2',component:CrearUsuarioComponent},
  {
    path: 'panel-estudiante',
    pathMatch: 'full',
    component: PanelEstudianteComponent,
    canActivate: [AuthGuard],
    data:{
      role: 'estudiante'
    }
  },
  {
    path: 'perfil-estudiante',
    component: PerfilEstudianteComponent,
    canActivate: [AuthGuard],
    data:{
      role: 'estudiante'
    }
  },
  {
    path: 'publicaciones-estudiante',
    pathMatch: 'full',
    component: PublicacionesEstudianteComponent,
    canActivate: [AuthGuard],
    data:{
      role: 'estudiante'
    }
  },
  
  {
    path: 'chat-estudiante',
    pathMatch: 'full',
    component: ChatEstudianteComponent,
    canActivate: [AuthGuard],
    data:{
      role: 'estudiante'
    }
  },
  {
    path: 'bolsa-estudiante',
    pathMatch: 'full',
    component: BolsaEstudianteComponent,
    canActivate: [AuthGuard],
    data:{
      role: 'estudiante'
    }
  },
  {
    path: 'calendario-estudiante',
    pathMatch: 'full',
    component: CalendarioEstudianteComponent,
    canActivate: [AuthGuard],
    data:{
      role: 'estudiante'
    }
  },
  {
    path: 'reservas-estudiante',
    pathMatch: 'full',
    component: ReservasEstudianteComponent,
    canActivate: [AuthGuard],
    data:{
      role: 'estudiante'
    }
  },
  {
    path: 'aplicaciones-estudiante',
    pathMatch: 'full',
    component: AplicacionesEstudianteComponent,
    canActivate: [AuthGuard],
    data:{
      role: 'estudiante'
    }
  },
  
  {
    path: 'reserva-laboratorios',
    pathMatch: 'full',
    component: ReservaLaboratoriosComponent,
    canActivate: [AuthGuard],
    data:{
      role: 'estudiante'
    }
  },
  {
    path: 'reserva-equipos',
    pathMatch: 'full',
    component: ReservaEquiposComponent,
    canActivate: [AuthGuard],
    data:{
      role: 'estudiante'
    }
  },
  {
    path: 'panel-docente',
    component: PanelDocenteComponent,
    canActivate: [AuthGuard],
    data:{
      role: 'docente'
    }
  },
  {
    path: 'panel-administrador',
    component: PanelAdministradorComponent,
    canActivate: [AuthGuard],
    data:{
      role: 'administrador'
    }
  },
  {path: '**', redirectTo: '', pathMatch: 'full'}
];


@NgModule({
  providers: [CookieService, AuthService,
    AuthGuard,
    {
      provide: HTTP_INTERCEPTORS,
      useClass: TokenInterceptorService,
      multi: true
    }  ],
  imports: [BrowserModule,RouterModule.forRoot(routes),HttpClientModule],
  exports: [RouterModule]
})
export class AppRoutingModule { }

您好,我找到了这篇文章,您可以使用这篇文章来解决这个问题,您可以使用 # 机制。 更多你可以在这篇文章中找到 Angular 6 404 After Refresh

如果您使用节点 js 进行部署,您可以参考 Whosebug 流程中的这篇文章: