重新加载在github页面上发布的有角度的SPA时找不到404文件

时间:2018-06-25 09:33:32

标签: angular nginx github github-pages ng-build

重新加载在gh页上发布的我的角度应用程序时,我收到错误消息。错误是:

404
File not found.
The site configured at this address does not contain the requested file.

我已经使用ng build --prod构建了我的应用。

Github存储库: https://github.com/chirag299051/IceAndFire

Github页面: https://chirag299051.github.io/IceAndFire/

我的app.module.ts文件包含:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';


import { AppComponent } from './app.component';
import { HomeComponent } from './home/home.component';
import { AboutComponent } from './about/about.component';

import { RouterModule, Routes } from '@angular/router';
import { BookDetailsComponent } from './book-details/book- 
details.component';
import { CharDetailsComponent } from './char-details/char- 
details.component';
import { HouseDetailsComponent } from './house-details/house- 
details.component';
import { GotService } from './got.service';
import { GotHttpService } from './got-http.service';

import { HttpClientModule, HttpClient } from '@angular/common/http';

@NgModule({
declarations: [
AppComponent,
HomeComponent,
AboutComponent,
BookDetailsComponent,
CharDetailsComponent,
HouseDetailsComponent
],
imports: [
HttpClientModule,
BrowserModule,
RouterModule.forRoot([
  {path: 'home', component: HomeComponent},
  {path:'',redirectTo:'home',pathMatch:'full'},
  {path: 'about', component: AboutComponent},
  {path: 'book/:name',component : BookDetailsComponent},
  {path: 'char/:url',component : CharDetailsComponent},
  {path: 'house/:name',component : HouseDetailsComponent}
])
],
providers: [GotService,GotHttpService,HttpClient],
bootstrap: [AppComponent]
})
export class AppModule { }

在我的子域中,当我单击任何链接时(我已使用nginx进行部署),我的路由不起作用。

子域:got.chirag9.com

1 个答案:

答案 0 :(得分:1)

在app-routing.module.ts文件中使用

imports: [RouterModule.forRoot(routes,{ useHash: true })]

代替

imports: [RouterModule.forRoot(routes)]

在这里,我们必须传递useHash: true才能在URL中启用哈希字符。此选项将有助于防止GitHub页面中的重新加载问题。