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

需在何处指定Vite项目运行的子路由路径?

在Vite中配置Svelte+Vue项目以子路由('/game')访问

你要找的是Vite顶层配置中的base选项,它不在build子配置里,所以之前看build文档没找到。下面是完整配置步骤:

  • 设置Vite的base路径
    在vite.config.js中添加base配置,指定子路由路径(注意末尾斜杠,避免路径解析错误):

    // vite.config.js
    import { defineConfig } from 'vite'
    import vue from '@vitejs/plugin-vue'
    import { svelte } from '@sveltejs/vite-plugin-svelte'
    
    export default defineConfig({
      base: '/game/',
      plugins: [vue(), svelte()]
    })
    
  • 配置Vue Router的基础路径
    如果项目使用Vue Router,需要同步设置路由的history模式基础路径,确保路由跳转与子路由匹配:

    // router/index.js
    import { createRouter, createWebHistory } from 'vue-router'
    import routes from './routes'
    
    const router = createRouter({
      history: createWebHistory('/game/'),
      routes
    })
    
  • 配置Svelte路由的基础路径
    若使用Svelte的路由库(如svelte-spa-router),同样需要指定base属性:

    // 示例:Svelte路由组件配置
    import { Router } from 'svelte-spa-router'
    
    export default {
      components: { Router },
      props: {
        base: '/game/'
      }
    }
    
  • 服务器部署补充
    为了避免SPA路由下的404问题,需要配置服务器将/game/下的所有请求指向项目的index.html,以Nginx为例:

    location /game/ {
      root /path/to/your/dist;
      try_files $uri $uri/ /game/index.html;
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 18:15:26