当您使用 Vite 作为构建工具时,通常不需要进行太多更改来配置 Vue Router。不过,这里有一个更新后的版本,它确保与 Vite 兼容,并且仍然使用 Vue Router 的基础配置。
首先,请确保您已经通过 npm 或 yarn 安装了 vue-router
。
然后,您可以按照以下方式配置 router/index.js
(或您可能有的任何其他名称的文件):
javascript复制代码
// router/index.js | |
import { createRouter, createWebHistory } from 'vue-router' | |
import Home from '../views/Home.vue' | |
// 使用动态导入以进行代码拆分(这是可选的) | |
const About = () => import('../views/About.vue') | |
const routes = [ | |
{ | |
path: '/', | |
name: 'Home', | |
component: Home | |
}, | |
{ | |
path: '/about', | |
name: 'About', | |
component: About // 不再需要 webpack 的特定注释,因为 Vite 默认支持代码拆分 | |
} | |
// 其他路由... | |
] | |
const router = createRouter({ | |
history: createWebHistory(process.env.BASE_URL), // 注意这里使用了 createWebHistory 而不是 mode: 'history' | |
routes | |
}) | |
export default router |
请注意以下几点变化:
- 我们从
vue-router
导入了createRouter
和createWebHistory
而不是直接使用VueRouter
的构造函数。 - 我们使用
createWebHistory(process.env.BASE_URL)
来创建历史记录实例,而不是在VueRouter
的选项中设置mode
和base
。 - 动态导入语法
() => import('...')
在 Vite 中仍然有效,用于代码拆分,但您不再需要/*webpackchunkName:"about"*/
这样的 webpack 特定注释。
最后,确保在您的主 Vue 文件(通常是 main.js
或 main.ts
)中,您正确地导入了并使用了这个路由实例:
javascript复制代码
// main.js 或 main.ts | |
import { createApp } from 'vue' | |
import App from './App.vue' | |
import router from './router' // 假设您的路由文件位于 router/index.js | |
createApp(App) | |
.use(router) | |
.mount('#app') |