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

记录---自动生成前端路由最佳实践

🧑‍💻 写在开头

点赞 + 收藏 === 学会🤣🤣🤣

自动生成前端路由最佳实践

概述

本文档介绍如何使用 vite 和 vite-plugin-pages 在前端项目中自动生成前端路由,通过文件系统结构自动映射为路由配置,减少手动维护路由的工作量。

安装必要依赖

首先需要安装用于自动生成路由的插件:

npm install vite-plugin-pages --save-dev
# 或
yarn add vite-plugin-pages -D
# 或
pnpm add vite-plugin-pages -D

配置 Vite

在 vite.config.ts 中配置插件:

import { defineConfig } from 'vite'
import Vue from '@vitejs/plugin-vue'
import Pages from 'vite-plugin-pages'export default defineConfig({plugins: [Vue(),Pages({// 基本配置选项dirs: 'src/views', // 路由组件目录exclude: ['**/components/*.vue'], // 排除的组件extensions: ['vue'], // 支持的文件类型// 更多配置见下文}),],
})

基本使用

文件系统路由约定

默认情况下,插件会扫描 src/views 目录下的 .vue 文件并自动生成路由:

src/views/├── index.vue        -> /├── about.vue        -> /about├── users/│   ├── index.vue    -> /users│   └── [id].vue     -> /users/:id└── blog/├── index.vue    -> /blog└── [slug].vue   -> /blog/:slug

动态路由

使用方括号命名文件来创建动态路由:

  • [param].vue -> /:param
  • [...all].vue -> /*

嵌套路由(不推荐)

创建与父路由同名的目录来生成嵌套路由:

src/views/├── users/│   ├── [id].vue│   └── index.vue└── users.vue

会生成如下路由结构:

{"path": "/users","component": "/src/views/users.vue","children": [{"path": "","component": "/src/views/users/index.vue"},{"path": ":id","component": "/src/views/users/[id].vue"}]
}

高级配置(自定义路由属性)

可以在页面组件中使用 <route> 块来自定义路由属性:

<route>
{"meta": {"requiresAuth": true},"alias": ["/home"]
}
</route><template><div>Home Page</div>
</template>

修改默认路由

在插件配置中可以通过 extendRoute 修改生成的路由:

Pages({extendRoute(route, parent) {if (route.path === '/') {return {...route,alias: ['/home']}}return route}
})

使用不同的路由模式

支持生成 vue-router 或 react-router 格式的路由:

Pages({routerMode: 'vue' // 或 'react'
})

与路由库集成

Vue Router 集成

import { createRouter } from 'vue-router'
import routes from 'virtual:generated-pages'const router = createRouter({// ...routes,
})

React Router 集成

import { createBrowserRouter } from 'react-router-dom'
import routes from 'virtual:generated-pages'const router = createBrowserRouter(routes)

类型支持

对于 TypeScript 项目,添加以下类型声明:

 
/// <reference types="vite-plugin-pages/client" />

完整配置选项

企业微信截图_20250818172122

示例项目结构

my-project/
├── src/
│   ├── pages/
│   │   ├── index.vue
│   │   ├── about.vue
│   │   ├── users/
│   │   │   ├── [id].vue
│   │   │   └── index.vue
│   │   └── blog/
│   │       ├── index.vue
│   │       └── [slug].vue
│   ├── App.vue
│   └── main.ts
├── vite.config.ts
└── package.json

注意事项

  1. 生产构建时会预生成路由配置,不会影响性能
  2. 热更新在开发模式下正常工作
  3. 可以通过 console.log(routes) 查看生成的路由结构
  4. 对于需要特殊处理的路由,仍然可以手动维护部分路由配置

本文转载于:https://juejin.cn/post/7538829865350840359

如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。

http://www.sczhlp.com/news/15332/

相关文章:

  • postgresql删除数据库,提示有其它会话正在使用数据库
  • 牛客周赛 Round 105【D题:重排构造题解】
  • 机器人焊机智能流量调节
  • 做网站除甲醛需不需要营业执照杭州网站
  • 免费自己做网站手机抖音seo怎么做的
  • 新手做网站设计百度怎么发帖做推广
  • 税务局网站建设情况汇报千锋教育前端学费多少
  • 专业做网站公司 前景舆情监控系统
  • 动态网站开发语言优势风云榜小说排行榜
  • 开发购物平台网站费用网站推广途径和推广要点
  • 如何开设一个网站什么是搜索关键词
  • html 网站地图app拉新平台有哪些
  • 珠宝公司网站模版如皋网站制作
  • java学习笔记之基础:面向对象
  • 在线预览word插件
  • postgresql全库自动备份shell脚本
  • 公司网站优化怎么做郑州seo线下培训
  • 按钮特效网站免费站长统计工具
  • 海淀网站建设怎么样今天刚刚发生的新闻最新新闻
  • 安徽电商网站建设谷歌优化排名哪家强
  • 做海报设计的图片网站有哪些百度快照怎么用
  • 网站的底部导航怎么做培训课程
  • 网页制作素材模板图片衡阳有实力seo优化
  • 网站 的建设意义百家号官网
  • 永久免费网站系统信息流优化师职业规划
  • 中国网站模板免费下载杭州优化公司多少钱
  • 会展设计课程营销网站优化推广
  • ABAP 不常用语法
  • L3CTF 2025
  • Maven