Uniapp 是一款基于 Vue.js 的开发框架,支持在多个平台上构建原生应用、H5 应用和小程序等。Uniapp 默认使用的是 hash 模式路由,即 URL 中以 '#' 开头的路径,但有些场景下需要使用 history 模式路由,即 URL 中没有 '#' 符号的路径。

从 hash 模式切换到 history 模式需要注意以下几点:

  1. 服务器端配置:需要确保服务器能够正确地处理 history 模式下的 URL 请求。具体来说,需要在服务器上配置 rewrite 规则,将所有非静态资源请求都重定向到 index.html 页面。

  2. VueRouter 配置:在使用 history 模式时,需要在 VueRouter 的配置中添加 mode 属性,并将其设置为 'history'。例如:

const router = new VueRouter({
  mode: 'history',
  routes: [
    // 路由配置
  ]
})
  1. 页面刷新问题:在 history 模式下,页面刷新会导致 404 错误,因为浏览器会向服务器发送请求,而服务器并没有对应的文件。为了解决这个问题,需要在服务器上配置 fallback 选项,将所有未知的请求都返回 index.html 页面。

  2. 链接路径规范:在使用 history 模式时,需要确保所有的链接都使用基于根目录的路径。例如,如果有一个链接指向 /about 页面,应该使用 "/about" 而不是 "about"。

  3. 第三方库兼容性:如果使用了第三方库或插件,需要确保它们也能够正确地处理 history 模式下的 URL。有些库可能需要进行特殊的配置才能支持 history 模式。

Uniapp 路由模式切换:从 Hash 模式到 History 模式详解

原文地址: https://www.cveoy.top/t/topic/oU0a 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录