angular项目线上地址跳转或刷新报错的解决

引用地址:https://blog.csdn.net/qq_35415307/article/details/80707463

本地ng项目没问题,到了线上跳转刷新都会报404错误,相信这个问题每个做ng项目的人都遇到过,下面给出解决方案。

一、原因

本地环境没问题,因为本地是路由跳转,前端执行的跳转。部署到线上,它其实走的是后台的路径,假如你部署在tomcat的容器里面,它执行的是JavaWeb的路由。所以找不到。

二、解决

这里就要使用hash模式,hash模式是基于锚点(#)做的内部链接机制机制,就可以解决问题。配置代码也很简单。

1.导入策略

在app.module.ts里导入 HashLocationStrategy 及 HashLocationStrategy。

import { HashLocationStrategy, LocationStrategy } from '@angular/common';

2.配置provide

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

重启项目,你会发现,所有的url会加了‘/#’,就大功告成了。