s

vue 打包部署后, 除了主页,其他页面刷新就会404 not found,并且 接口请求 也是 404

1. 除了主页页面,其他刷新404 

vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。

如果不想要很丑的 hash,我们可以用路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面。

const router = new VueRouter({
mode: 'history',
routes: [...]
})
你使用 history 模式时,URL 就像正常的 url,例如 http://yoursite.com/user/id,也好看!

不过这种模式要玩好,还需要后台配置支持。因为我们的应用是个单页客户端应用,如果后台没有正确的配置,当用户在浏览器直接访问 http://oursite.com/user/id 就会返回 404,这就不好看了。

所以呢,你要在服务端增加一个覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,则应该返回同一个 index.html 页面,这个页面就是你 app 依赖的页面【内容来自csdn】。

也就是 因为 没有配置 ,但是又使用了 history 模式导致的!

 

2. 打包后接口都访问不到

  这里我遇到两种情况

    1.打包后的项目部署到本地,然后内网穿透出去,外网访问,接口啥的都是请求不到的。(这个原因暂时不清楚,报错net::ERR_FAILED)

    2.本地打包后接口访问不到, 这里是由于开发模式和生产模式 接口写法有区别  开始打包使用的开发模式,所以导致接口请求错误

posted @ 2021-10-12 10:44  努力不搬砖的iori  阅读(1518)  评论(0编辑  收藏  举报