点击路由链接跳转页面是正常的,但是当刷新页面时就出现了404错误。
解决方法如下:
在app.module.ts中添加import:
import {HashLocationStrategy,LocationStrategy} from '@angular/common';
并在 providers下添加所引入的服务:
providers: [{provide: LocationStrategy,useClass: HashLocationStrategy}]
备注:
出现问题的原因:刷新页面时寻找的是java web中的地址,自然就找不到了。
---------------------------------------------------------------------------------------------
当点刷新的时候,浏览器是不明白,要先进入到localhost:8000的路由后,再找到相对应的参数,再找到相对应的产品,简单的说,浏览器没有那么智能.
如何解决: 比较简单,在app.module.ts文件加一个新的provide就好了.看如下代码:
providers: [ProduceShareService,HttpService,FileInputPluginService,
{provide: LocationStrategy,useClass:HashLocationStrategy}
],
然后重新编译,再重新上传就可以了!
重新上传的文件地址会多一个#号,这样就告诉浏览器要先进行路由再找相对应产品.
app-routing-modules-ts
const config: ExtraOptions = {
useHash: true, // 此项必须写,防止打包之后,刷新页面空白的状况。
// useHash: false,
};