项目打包后进入到路由页面再刷新页面就找不到了
来源:7-4 项目作业
weixin_慕数据0318417
2020-03-25 10:38:21
6回答
同学你好,在浏览器内可以由首页跳转到其他路由地址,是因为这是由前端自行渲染的,在React Router定义了对应的路由,脚本并没有刷新网页访问后台,是JS动态更改了location。当刷新时或者手动写其他路由时,首先是访问的后台地址,然后返回的页面内加载了React代码,最后在浏览器内执行;也就是说如果这个时候报404,是因为后台并没有针对这个路由给出返回HTML内容,也就不会执行React Router了。
可以这样修改,路由使用HashRouter,不要使用BrowserRouter。这样所有的请求都会定位到index.html这一个页面。index.js文件中:
修改之后重新打包试试,祝学习愉快!
好帮手慕星星
2020-03-25
同学你好,因为子页面开始的路由并不存在。是通过点击导航才添加的后面路由/1,/2等,所以直接访问子页面是不存在的,需要从首页开始。
祝学习愉快!
好帮手慕星星
2020-03-25
同学你好,这边打包之后用http-server运行如下
只有两个地址,第一个是ip地址,测试没有问题
第二地址测试也没有问题
建议将build文件夹删除,然后重新打包,测试地址中找到ip地址,看看能不能正常访问。
如果还有问题,可以用源码测试下。
祝学习愉快!
weixin_慕数据0318417
提问者
2020-03-25
weixin_慕数据0318417
提问者
2020-03-25
项目打包好之后用http-server运行
http://127.0.0.1:8080 这个页面可以刷新
其他路由页面刷不出来
好帮手慕星星
2020-03-25
同学你好,意思是开始用http://192.168.137.1:8080/2 地址访问是可以的,项目打包之后,刷新页面就不可以了吗?建议检查下项目是否有启动呢?打包的时候是否关闭了启动的项目呢?
这边使用源码测试没有问题,即使打包之后还可以正常访问,之前启动的项目不要关闭哦,可以再重新开一个端口进行打包。
祝学习愉快!
相似问题