You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue3项目构建后首页空白,需点击路由链接才显示内容

问题原因与解决方案

你的问题出在首页路由的路径配置上:

开发环境下,本地服务器对路径的解析会兼容空路径('')和根路径(/),所以能正常匹配到首页组件;但生产构建后,服务器返回的是标准根路径请求(/),Vue Router的createWebHistory模式不会自动将/匹配到空路径规则,导致RouterView没有渲染任何内容,只有手动触发路由跳转(点击链接)时才会加载对应组件。

修复方案

方案1:直接将首页路由路径改为根路径(推荐)

修改路由文件中的首页path为/,确保根路径请求能直接匹配到首页组件:

import { createRouter, createWebHistory } from 'vue-router'
 
const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [ 
    {
      path: '/', // 替换原有的空路径''
      name: 'Accueil',
      component: () => import('../views/HomeView.vue'),
    },
    {
      path: '/menu',
      name: 'Carte',
      component: () => import('../views/MenuView.vue'),
    }
  ]
})
 
export default router

方案2:添加空路径重定向(兼容场景)

如果需要保留空路径的匹配规则,可以添加一条重定向规则,将空路径请求导向根路径:

import { createRouter, createWebHistory } from 'vue-router'
 
const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [ 
    {
      path: '',
      redirect: '/' // 新增重定向规则
    },
    {
      path: '/',
      name: 'Accueil',
      component: () => import('../views/HomeView.vue'),
    },
    {
      path: '/menu',
      name: 'Carte',
      component: () => import('../views/MenuView.vue'),
    }
  ]
})
 
export default router

额外检查

确认你的构建配置文件(如vite.config.js)中的base选项与import.meta.env.BASE_URL保持一致,避免路径解析冲突。

内容的提问来源于stack exchange,提问作者Julien Quentier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 14:30:40