history 路由 vs hash 路由 vs location.href 实现跳转

  • location.href 直接页面跳转了 => 重新请求页面了 -> 刷新
  • history => 改变 url 但是页面不刷新 ,没有重新请求后端的页面,用到了 history api -> UI 怎么变, 是因为路由库监听了 url 变化,展示对应的 UI 试图
  • hash => # 锚点,不会重新请求页面 => 是因为路由库监听了 url 变化,展示对应的 UI 试图

a.com
浏览器 -> 后端服务(express/koa )

前端路由 -> 浏览器 url 栏里展示的 。 e.g. https://baobao-dcsj.yuque.com/staff-rdwofm/tw6ocq/exnnflh94is0p390

后端路由 -> /staff-rdwofm/tw6ocq/exnnflh94is0p390
○ /staff-rdwofm/tw6ocq/exnnflh94is0p392
○ /staff-rdwofm/tw6ocq/exnnflh94is0p392
○ /test
○ /api/getList -> 文章列表 json
没有的直接映射到 index.html


webpack devServer historyApiFallback - 本地 线上 - 服务有相应的 fallback 逻辑/ nginx 配置了 fallback

history 路由

http://localhost:9000 (index.html) -> http://localhost:9000/list (hsitory api, 没有请求后端 html) -> 可以正常展示 -> 页面刷新 cmd + r -> http://localhost:9000/list (向后端请求 /list 这个页面) -> 没有 /list 页面 xxxx

fallback /index.html

hash 路由

localhost:9000#list

http://localhost:9000 (index.html) -> http://localhost:9000#list (hsitory api, 没有请求后端 html) -> 可以正常展示 -> 页面刷新 cmd + r -> http://localhost:9000#list (向后端请求 /index.html 这个页面) ->

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值