当前位置: 首页 > news >正文

Vue3》》Vite》》文件路由 vite-plugin-pages、布局系统 vite-plugin-vue-layouts

文件路由

在这里插入图片描述
在这里插入图片描述
vite-plugin-pages 是一个用于在 Vite 项目中自动生成路由的插件。它可以根据文件系统的结构自动生成 Vue Router 的路由配置,极大地提高了开发效率。

案例

安装 vite-plugin-pages、vue-router
npm i vue-router vite-plugin-pages

//src/router/index.ts
import { createRouter, createWebHistory } from 'vue-router'// 自动生成的路由配置
//或 import routes from 'virtual:generated-pages';
import routes from "~pages";
// 如果需要扩展路由元信息,可以使用 vite-plugin-vue-layouts
const router = createRouter({history: createWebHistory(),routes,
})router.beforeEach(v=>{console.log(v)
})
export default router
//vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
// 引入路由文件
import Page from 'vite-plugin-pages'
export default defineConfig({//配置路径别名resolve: {alias: {"@": resolve(__dirname, 'src')}},plugins: [vue(),/** 自带 api 的自动化导入 */AutoImport({// 自动导入 vue、vue-router、Pinia 相关函数imports: ['vue', 'pinia', 'vue-router']   }),/** 组件及其类型的自动化导入 */Components({resolvers:[ElementPlusResolver()],// 自动导入 src/components 目录下的自定义组件dirs: ['src/components'],}),//文件路由Page({dirs: "src/pages", // 需要生成路由的文件目录,默认就是识别src下面的pages文件exclude: ["**/components/*.vue"], // 排除在外的目录,上面配置目录的例子,里面有 components 目录,我们不希望他被解析为路由})],server: {port: 4000,open: true}
})

在这里插入图片描述

Pages({dirs: [{ dir: 'src/pages', baseRoute: '' }, // 主应用,baseRoute 为空字符串表示根路径{ dir: 'src/features/admin/pages', baseRoute: 'admin' }, // 管理后台{ dir: 'src/features/user/pages', baseRoute: 'user' }, // 用户中心{ dir: 'src/features/billing/pages', baseRoute: 'billing' }, // 支付账单]
})

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

//app.vue
<script setup lang="ts"></script><template><router-view/>
</template><style scoped></style>

动态路由

在这里插入图片描述

带路由元信息

在这里插入图片描述

布局系统 vite-plugin-vue-layouts

在这里插入图片描述

安装 vite-plugin-vue-layouts
npm i vite-plugin-vue-layouts

》》vite.config.ts

在这里插入图片描述
在这里插入图片描述

//vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
// 路由文件
import Page from 'vite-plugin-pages'
//布局
import Layouts from 'vite-plugin-vue-layouts'
export default defineConfig({//配置路径别名resolve: {alias: {"@": resolve(__dirname, 'src')}},plugins: [vue(),/** 自带 api 的自动化导入 */AutoImport({// 自动导入 vue、vue-router、Pinia 相关函数imports: ['vue', 'pinia', 'vue-router']   }),/** 组件及其类型的自动化导入 */Components({resolvers:[ElementPlusResolver()],// 自动导入 src/components 目录下的自定义组件dirs: ['src/components'],}),//文件路由Page({dirs: "src/pages", // 需要生成路由的文件目录,默认就是识别src下面的pages文件exclude: ["**/components/*.vue"], // 排除在外的目录,上面配置目录的例子,里面有 components 目录,我们不希望他被解析为路由}),Layouts({layoutsDirs: 'src/layouts', // 布局文件目录pagesDirs: 'src/pages',defaultLayout: 'default' // 默认布局(对应 src/layouts/default.vue)})],server: {port: 4000,open: true}
})

》》布局文件
在这里插入图片描述
在这里插入图片描述
》》》如果部使用默认 布局

// src/pages/about
<template><div>about</div>
</template>
<route>
{meta:{layout:'Cust'}
}</route>
http://www.dtcms.com/a/395021.html

相关文章:

  • 深入解析 MySQL MVCC:高并发背后的数据时光机
  • 汽车冷却系统的冷却水管介绍
  • 基础架构设计
  • 从分散到统一:基于Vue3的地图模块重构之路
  • JVM实际内存占用
  • Spark SQL 桶抽样(Bucket Sampling)
  • 常见的【垃圾收集算法】
  • 如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘django’ 问题
  • jvm之【垃圾回收器】
  • Tomcat基础知识
  • Will、NGC游戏模拟器 Dolphin海豚模拟器2509最新版 电脑+安卓版 附游戏
  • ELK企业级日志分析系统详解:从入门到部署实践
  • 2025年Spring Security OAuth2实现github授权码模式登录
  • Kafka面试精讲 Day 22:Kafka Streams流处理
  • ELK大总结20250922
  • 基于Hadoop生态的汽车全生命周期数据分析与可视化平台-基于Python+Vue的二手车智能估价与市场分析系统
  • 基于TV模型利用Bregman分裂算法迭代对图像进行滤波和复原处理
  • 利用 Perfmon.exe 与 UMDH 组合分析 Windows 程序内存消耗
  • hello算法笔记 02
  • 二级域名解析与配置
  • 如何学习国库会计知识
  • 【读论文】压缩双梳光谱技术
  • Spark Structured Streaming端到端延迟优化实践指南
  • 【.NET实现输入法切换的多种方法解析】,第566篇
  • 性能测试-jmeter13-性能资源指标监控
  • 基于华为openEuler系统安装PDF查看器PdfDing
  • PyTorch 神经网络工具箱核心知识梳理
  • 【LangChain指南】Agents
  • Linux 的进程信号与中断的关系
  • IS-IS 协议中,是否在每个 L1/L2 设备上开启路由渗透