需在何处指定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
相关产品推荐
相关产品推荐

