news 2026/5/1 10:53:47

《Vue 项目路由 + Layout 的最佳实践》

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
《Vue 项目路由 + Layout 的最佳实践》

@[toc]

前言:路由乱,本质是“页面结构没设计”

很多项目后期路由文件看起来像这样:

  • 一个文件 1000 行
  • Layout 套 Layout
  • 新页面不知道该放哪

说白了就是一句话:

路由和页面结构是“边写边凑”的。

一、Layout 的职责一定要收紧

一句话定义 Layout:

只管结构,不管业务。

Layout 里应该有什么?

  • Header
  • Sidebar
  • Footer
  • <router-view />

不应该有什么?

  • 接口请求
  • 权限判断
  • 业务状态

二、最推荐的 Layout 结构

Layout ├─ Header ├─ Sidebar └─ MainContent (router-view)

这个结构的好处是:

  • 所有页面共享结构
  • 页面只关心自己内容

三、路由如何“自动套 Layout”

{path:'/',component:MainLayout,children:[{path:'dashboard',component:Dashboard}]}

这样做的本质是:

Layout 是路由的一部分,而不是页面自己引的组件

四、多 Layout 怎么处理?

真实项目里几乎一定有:

  • 登录页 Layout
  • 后台 Layout
  • 全屏页 Layout

解决方式非常简单:

{path:'/login',component:BlankLayout},{path:'/',component:AdminLayout,children:[...]}

你会发现:

  • 页面不需要知道自己用什么 Layout
  • 路由一眼就能看懂结构

五、菜单一定是“路由的衍生物”

不要自己维护一份菜单数据。

constmenus=routes.map(route=>({title:route.meta.title,path:route.path}))

这样做的好处是:

  • 权限变了,菜单自然变
  • 不存在“菜单有,页面进不去”

六、路由文件一定要拆模块

router/ ├─ index.ts ├─ modules/ │ ├─ user.ts │ ├─ order.ts │ └─ admin.ts

每个模块只关心自己:

  • 新功能 = 新文件
  • 删除模块 = 删文件

七、总结一句话

路由是页面结构的说明书,不是业务代码的垃圾桶。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 5:04:22

线程组之间的JMeter传递变量

下面&#xff0c;我们将看看如何在线程组之间共享和传递变量。 在开发高级JMeter脚本时&#xff0c;很可能您将拥有多个线程组。每个线程组将执行不同的请求。 一个很好的例子是我们需要使用Bearer Tokens对用户进行身份验证。一个线程组执行身份验证并保存令牌。另一个线程组…

作者头像 李华
网站建设 2026/4/17 17:44:55

一次性搞定多任务!Python自动化复用浏览器技巧大揭秘

复用浏览器 简介 在 Web 自动化测试中&#xff0c;浏览器复用是指将已打开的浏览器实例用于多个测试用例。这可以显著提高测试效率和性能&#xff0c;并减少资源消耗。浏览器复用通常与浏览器驱动程序&#xff08;如 Selenium WebDriver&#xff09;一起使用&#xff0c;以便…

作者头像 李华
网站建设 2026/5/1 6:14:10

如何将相册装修成美团风格?看这里!

&#x1f64b;有小伙伴反馈&#xff1a;相册布局能否装修成像美团店铺那样&#xff1f;也就是顶部有一个商家信息卡片&#xff0c;下面就是左右两级分类&#xff0c;这样简洁明了&#xff0c;方便客户快速找款看款 &#x1f44c;包的&#x1f4af;支持的 ⬇️下面将介绍如何将相…

作者头像 李华
网站建设 2026/4/25 14:51:22

EmotiVoice官方认证培训课程上线

EmotiVoice官方认证培训课程上线&#xff1a;高表现力多情感语音合成技术深度解析 在智能语音助手越来越“懂你”的今天&#xff0c;我们是否还满足于那种语气平淡、毫无波澜的机械朗读&#xff1f;当AI开始扮演虚拟偶像、游戏NPC甚至心理陪伴者时&#xff0c;“说什么”已经不…

作者头像 李华
网站建设 2026/5/1 6:16:30

解密prompt系列61. 手搓代码沙箱与FastAPI-MCP实战

最近Vibe Code在各种技术社区刷屏&#xff0c;不过说实话&#xff0c;在日常工作中&#xff0c;我更多是用LLM来生成文档、批量修改代码或者排查问题。毕竟业务需求嘛&#xff0c;很少有能一次性描述清楚的&#xff08;懂的都懂哈哈~&#xff09;。但在看了最新的SWE-Bench Pro…

作者头像 李华
网站建设 2026/4/29 22:54:07

Kubernetes Deployment:部署与管理应用指南

在上一章节中&#xff0c;介绍了pod&#xff0c;以及介绍了如何使用命令行来创建一个pod。那么问题来了&#xff0c;一般来说&#xff0c;我们部署微服务不可能只部署一个噻&#xff0c;肯定是部署多个&#xff0c;但是我们总不可能说&#xff0c;写一个for循环&#xff0c;启动…

作者头像 李华