解决angular2页面刷新后报404错误

  如果你的angular项目部署到一个tomcat容器里面,localhost:8080是JavaWeb的主页,localhost:8080/driver/login是你angular2项目的登陆地址。第一遍跳转login页面,显示正常。但如果你刷新login页面,这会报一个404错误。为什么呢,因为你刷新后其实它走的是JavaWeb的路由了,在Java的路由下找不到这个路由地址,所以报错。这算是angular2的一个坑吧,网上搜了一下,发现这个遇到这个错误的人挺多的,但都没有给出解决办法,现把解决办法贴出来,希望能帮到一些遇到这个问题的程序猿们把!

解决办法:

解决angular2页面刷新后报404错误办法:
配置app.module.ts
import {PathLocationStrategy, LocationStrategy} from '@angular/common';

@NgModule({
  declarations: [AppCmp], 
  bootstrap: [AppCmp],
  imports: [BrowserModule, routes],
  providers: [{provide: LocationStrategy, useClass: HashLocationStrategy]
]);

主要添加的代码:

providers: [{provide: LocationStrategy, useClass: HashLocationStrategy]

这样设置后,访问angular站点,会自动在根节点后面加一个#锚点。再次刷新便不会报404错误了。

原文地址:https://www.cnblogs.com/cinser/p/6144075.html