只回答 hash 模式 url 带 # 号,history则不带,不太行!
说出 hash 和history路由模式的几个特性,再简单讲讲怎么在 install 方法中获取 Vue 实例上的 router 属性,怎么触发更新,就差不多全了
为什么hash模式下没有问题
router hash 模式我们都知道是用符号#表示的,如 website.com/#/login, hash 的值为 #/login
它的特点在于:hash 虽然出现在 URL 中,但不会被包括在 HTTP 请求中,对服务端完全没有影响,因此改变 hash 不会重新加载页面
hash 模式下,仅 hash 符号之前的内容会被包含在请求中,如 website.com/#/login 只有 website.com 会被包含在请求中 ,因此对于服务端来说,即使没有配置location,也不会返回404错误
————————————————
可以看到dist下只有一个 index.html
文件及一些静态资源,这个是因为Vue
是单页应用(SPA),只有一个index.html
作为入口文件,其它的路由都是通过JS来进行跳转