前端
路由Routing
你可能会问
路由到底是什么?网址一变,页面怎么就知道该显示哪一屏?
简单来说
把网址和页面对应起来的规则,决定访问某个地址时看到什么。
路由表
/首页
/blog博客
其他404
地址变,视图跟着换
01 · 先这样理解
把抽象概念放进真实场景
把网址和页面对应起来的规则,决定访问某个地址时看到什么。
换个角度想路由像酒店前台的房号表:/about 对应 203 房,/blog 对应 305 房。客人报房号,前台带去对应的房间;报了不存在的房号,就得到一句「查无此房」——这就是 404。
02 · 点击演示
换一个地址,会打开哪一页?
突出显示的部分,就是当前概念在整条流程中负责的位置。
- 文件即路由
index/blog/blogabout/about /blog
查路由表 → 博客页
匹配到 · 渲染 没匹配到 · 兜底
1 / 4
URL · 用户点链接或输入网址
03 · 放进真实任务
什么时候会遇到它
组织页面
首页、列表、详情各占一个路径,项目的文件结构常常就是路由。
可分享链接
每个内容有自己的网址,用户可以直接收藏或转发。
兜底 404
访问不存在的路径时,给用户一个明确的出口,而不是白屏。
04 · 想一想
用一个问题检查理解
用户说「详情页一刷新就 404」,但从首页点进去是好的。大概哪里出了问题?
查看答案
从首页点进去走的是前端跳转,路径在浏览器里被匹配;直接刷新时请求打到了服务器,而服务器上没有这条路径的规则,于是 404。解法是让服务器把这类路径交回给前端路由处理。
最容易踩的坑
路径是接口,也是承诺:改路由等于改掉别人收藏的链接。上线后调整路径,记得留下重定向。