这个是普通的手动路由配置:https://blog.csdn.net/weixin_68658847/article/details/130071101
自动路由配置
创建项目
npm create vite@latest my-vue-app -- --template vue // 或者 yarn create vite my-vue-app --template vue
// 安装路由 yarn add vue-router@4.3.2 // 安装自动路径导入插件 yarn add vite-plugin-pages --dev
下面是项目结构
src ├─App.vue ├─main.js ├─style.css ├─views | ├─index.vue | ├─user | | └[username].vue | ├─home | | ├─index.vue | | ├─iii | | | ├─[id].vue | | | ├─index.vue | | | ├─aaa | | | | └index.vue | ├─about | | └index.vue ├─router | └index.js ├─components | └HelloWorld.vue ├─assets | └vue.svg
在vite.config.js做以下配置
import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import Pages from 'vite-plugin-pages' // https://vitejs.dev/config/ export default defineConfig({ plugins: [vue(),Pages({ // 这里可以配置插件选项,例如路由的目录等,这里我指定了遍历的文件夹是src/view目录 dirs: [{ dir: 'src/views', baseRoute: '' }], }),], })
在src/router/index.js下面做以下配置
import { createRouter, createWebHistory } from 'vue-router' import routes from 'virtual:generated-pages' console.log('routes',routes); // 这里打印的路由信息我粘贴到下面了 const router = createRouter({ history: createWebHistory(), routes, }) export default router
在main.js配置一下
import { createApp } from 'vue' import App from './App.vue' import router from "/src/router/index.js"; createApp(App) .use(router) .mount('#app')
App.vue使用
上面的routers的打印数据如下
可以发现是以文件夹的名称进行匹配的,
例如
- 如果下面有index.vue文件夹则就是当前目标页面,home/index.vue文件路径就是/home,
- 如果某个文件夹下面起的名字不是index.vue则会将此文件名当路由,如/home/homeItem.vue则路由就是/home/homeItem
- 动态路由的参考上面可以发现文件命名[username]就相当于是在路由后面动态拼接一个路径,例如user/[username]则路由为/user/:username
还没有评论,来说两句吧...