vue3使用h5 history模式的路由模式,刷新页面找不到资源问题

问题描述#

vue-router中配置history为createWebHistory() 后,当刷新页面会出现无法找到资源的问题

配置如下:

 // router/index.ts
const router = createRouter({
  history: createWebHistory(),
  routes
})

请求一个存在的路由后发生404错误

知识补充#

  • 在使用vue-router的时候需要指定history配置项,此值表示路由的模式;
  • 常用的方式有hash 以及h5的history 的方式
  • hash与hash两者的区别:hash在请求路径中会携带有#xxx,这种请求路径不好看;history的话就不会携带有#xxx,这种路径符合平常看到的网页路径

解决办法#

需要开启webpack中 devServer关于h5的history api 的配置。
步骤如下:

  • vue.config.js中新增如下配置,然后重新启动npm run serve
module.exports = {
  ...
  configureWebpack: {
    devServer: {
      historyApiFallback: true
    },
  }
}
posted @   ^Mao^  阅读(2329)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2021-09-17 Sublime中同一个文件进行分屏显示
2021-09-17 Oracle的clob数据类型
点击右上角即可分享
微信分享提示
主题色彩