路由的两种模式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