路由的两种模式Hash与History两者有什么区别

Hash:默认值,网址上路径前要加#

History:网址上没有#,正式上线需要服务器支持

如果需要History模式,项目正式上线一定要服务器提供额外配置支持,否则做路由跳转时会报404找不到页面,开发阶段,因为vue-cli已经提供共了配置,所以开发阶段可以使用,所以默认是Hash,因为Hash不需要做额外的配置,

History模式下前端的 URL 必须和实际向后端发起请求的 URL 一致


Hash模式:
location的属性:
location.href //当前url的协议,包括http:/https: location.protocol //主机号和端口号,如果端口号是80(http)或443(https),那就回省略端口号,"localhost:8081"或者"www.cnblogs.com" location.host //主机号,比如www.baidu.com location.hostname //端口号,比如8080 location.port //url的路径部分,从/开始,比如https://www.baidu.com/s?ie=utf-8,那么 pathname = '/s'了,从端口后,问号之前的字段 location.pathname // 查询参数,从?开始;比如 https://www.baidu.com/s?ie=utf-8 那么 search = '?ie=utf-8' location.search // hash是页面中的一个片段,从 # 开始的,比如 https://www.baidu.com/#/a/b 那么返回值就是:"#/a/b" location.hash

 

 
posted @ 2022-12-11 22:15  MetX  阅读(58)  评论(0编辑  收藏  举报