H5和后台部署到一台服务器通过不同的前缀去访问

98 阅读1分钟

一般来,我们的后台程序都是部署在根路径,H5通常会放在h5的文件夹

项目背景:

H5vite + vue3 + vue-router,访问地址https:xxx/h5

后台:vite + vue3 + vue-router,访问地址https:xxx/

对于后台程序都是配置好路由后引入,直接打包就部署了

`import { createRouter, createWebHistory } from "vue-router";

const routers = [
  {
    path: "/",
    redirect: "/home",
  },
  {
    path: "/home",
    component: () => import("@/views/home/index.vue"),
  },
  {
    path: "/my",
    component: () => import("@/views/my/index.vue"),
  },
];
const router = createRouter({
  history: createWebHistory(),
  routes: routers,
});

export default router;`

这样部署后就可以直接去根路径下访问

对于H5,因为不在根路径下,所以给路由加个前缀history:createWebHistory("/h5")

const router = createRouter({
  history: createWebHistory("/h5"),
  routes: routers,
});

在createWebHistory里面加上/h5后,访问本地研发环境

image.png

image.png

当然,如果这样直接部署到服务器去访问https:xxx/h5还是访问不到页面的,因为还需要修改一下vite.config.js页面里的base配置

image.png

修改后你的地址: image.png

base: "/h5" 的作用是设置 Vite 应用的公共基础路径(public base path)。 具体来说:

  • 定义应用的基础路径:当你的应用部署在服务器的子目录下时,需要设置这个选项。在这个例子中,应用将被部署在 /h5 路径下
  • 影响资源加载:所有的静态资源(如 JS、CSS 文件)和路由都会基于这个基础路径
  • 部署配置:如果你的应用最终会放在服务器的 /h5 目录下,那么设置 base: "/h5" 可以确保应用正确加载资源和处理路由

例如:

  • 如果不设置 base,默认是 /,应用会假设部署在根目录
  • 设置为 "/h5" 后,应用会知道所有资源都应该从 /h5/ 开始寻找