vue-router中的hash模式和history模式的区别
拓展:
history模式需要后台配置支持。比如:当我们进行项目的主页的时候,一切正常,可以访问。但是如果我们刷新页面或者直接访问路径的时候就会返回404,这是因为history模式下,只是动态的通过js操作window.history来改变浏览器地址栏的路径,并没有发起http请求。但是当我们直接在浏览器里输入这个地址的时候,就一定要对服务器发起http请求,但是这个目标在服务器并不存在,因此会返回404。
这个时候我们需要把所有的请求都转发到一个指定的页面就行。
官网给出的解决方案:解决404的方案
需要注意的是,这种方式处理后你的服务器就不再返回 404 错误页面,因为对于所有路径都会返回 index.html 文件。为了避免这种情况,你应该在 Vue 应用里面覆盖所有的路由情况,然后在给出一个 404 页面。
const router = new VueRouter({
mode: 'history',
routes: [
{ path: '*', component: NotFoundComponent }
]
})