解决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错误了。