vuerouter3种模式_Vue Router 中模式选择

一、前言

在以往的项目中路由模式都是使用默认的 hash,最近的一个项目中用到了 history 模式,但是出现一些问题。在这里对着两种模式做一个对比。

二、hash 模式

在 Vue Router 中默认使用的是 hash 模式,所以在使用这种模式是不需要设置的,直接默认就行。

const router = newVueRouter({

routes: [...]

})

在请求路由的时候是使用 URL 的 hash 来模拟完整的 URL,所以当 URL 改变时,页面不会重新加载。

具体如下所示:

http://localhost:8000/#/home

看到这个类似于以往使用的锚点一样。

所以页面的请求和路由是可以完全分开的(子所以这样说是为了和 history 对应)。这样的话页面的路由全部由前端进行控制,对应没有匹配的路由可以设置一个 404 页面。

三、history 模式

声明 router 的时候如果使用 history 模式需要显示设置:

const router = newVueRouter({

mode:'history',

routes: [...]

})

使用 history 模式后 URL 就像正常的 URL:

http://localhost:8000/home

使用 history 模式需要注意一些问题:

1、服务端也需要配置一个静态页面,当 URL 匹配不到任何资源的时候返回

2、使用代理的时候,最好把 pathRewrite 设置为和路由不一样的,否则可能会导致请求路由时也被代理,但是返回的不是想要的静态页面

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值