下面是从创建项目到实现路由自动化的完整步骤
在 Vite + Vue 3 项目中实现路由自动化可以通过使用文件系统路由生成器来简化路由管理过程。以下是实现路由自动化的完整步骤:
1.创建 Vite + Vue 3 项目
如果你还没有一个 Vite + Vue 3 项目,可以使用以下命令创建一个新的项目:
npm create vite@latest my-vue3-project -- --template vue
cd my-vue3-project
npm install
2. 安装依赖包
为了实现文件系统路由生成,你可以使用 vite-plugin-pages 插件。这个插件会自动基于你在 `src/pages` 目录下创建的 Vue 组件文件来生成路由。
npm install vite-plugin-pages -D
3. 配置 Vite
在 `vite.config.js` 中配置 `vite-plugin-pages` 插件:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import Pages from 'vite-plugin-pages'
export default defineConfig({
plugins: [
vue(),
Pages({
// 可以在这里配置插件选项
}),
],
})
4. 创建页面文件
在 `src/pages` 目录下创建 Vue 文件,每个文件会自动映射为一个路由。例如:
src/
pages/
index.vue // 路由: /
about.vue // 路由: /about
contact.vue // 路由: /contact
blog/
index.vue // 路由: /blog
[id].vue // 路由: /blog/:id
5. 创建路由配置文件
在 `src` 目录下创建 `router.js` 文件,并使用 `vite-plugin-pages` 生成的路由配置:
import { createRouter, createWebHistory } from 'vue-router'
import routes from 'virtual:generated-pages'
const router = createRouter({
history: createWebHistory(),
routes,
})
export default router
6. 在应用中使用路由
在 main.js 中导入并使用路由:
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
createApp(App)
.use(router)
.mount('#app')
7. 运行项目
现在,你可以运行 Vite 服务器并查看自动生成的路由:
npm run dev
项目启动后,src/pages 目录中的每个文件都将自动映射为路由,你无需手动配置路由文件。
可选:动态路由
对于更复杂的路由需求,如嵌套路由或动态路径参数,你可以在 `src/pages` 中使用文件夹结构和特殊文件名。例如:
src/pages/blog/[id].vue将创建一个动态路由 /blog/:id
src/pages/user/[username]/profile.vue将创建嵌套路由 /user/:username/profile
8页面跳转测试
创建页面
app.vue 代码
<script setup> </script> <template> <div> <router-link to="/first">Go to one</router-link> <router-link to="/two">Go to two</router-link> <router-link to="/three">Go to three </router-link> <router-link to="/four">Go to four</router-link> <router-link to="/five">Go to five</router-link> <router-view /> </div> </template> <style scoped> .logo { height: 6em; padding: 1.5em; will-change: filter; transition: filter 300ms; } .logo:hover { filter: drop-shadow(0 0 2em #646cffaa); } .logo.vue:hover { filter: drop-shadow(0 0 2em #42b883aa); } </style>
运行截图
总结
通过以上步骤,你可以在 Vite + Vue 3 项目中轻松实现路由的自动化管理,简化路由配置并提高开发效率。