vue项目如何部署不说了,自行百度,很简单,关键是配置。我的是管理后台,部署好后,登录页面刷新没问题,登录后刷新报404,以及点击链接跳转报404。
1、细说一下跳转报404,这个功能是要求,打开新页面的,一开始以为是这个功能导致的404,所以改为不跳出新页面,重新发布,果然一切安好。
2、但是本着不怕死的态度,还是搞一搞这个404。百度一下,发现这个问题很常见,基本解释都是一致的:
Vue-router 使用 hash 模式:使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。所以hash模式下,上线之后不会出现问题。
history 模式下,会出现一个致命的BUG,在服务器上面上线之后,点击页面跳转没有问题,但是一旦点击刷新页面会出现404错误,原因是history模式下刷新界面,就等同于向服务器直接请求: www.****.com/jichu/123。但是在服务器后端的路径配置中压根就没有 /jichu/123 ,所以后端匹配不到相应的值,就会返回404错误,。有的朋友就会有疑虑,为什么在vue项目开发的时候不会出现这种问题呢?因为在vue项目开发的时候是访问自己的8080服务器,后端有进行处理,在刷新界面后找不到相对路径时,会重新渲染index.html界面,把路由的控制权交给前端,然后前端负责路由的匹配,在找到符合/jichu /123 这种格式的路由后,就会匹配成功。从而达到页面正常显示的情况.。
以上是copy别人的解释,开始自己动手结合百度,步骤仅供参考,因为情况不一定相同,我也是尝试了