Vue在history模式下页面空白及404解决

vue路由有两种模式一种hash(vue-router默认模式)另一种history路由

改变为history模式:

export default new Router({
	mode: 'history'
})

由于改变了vue路由模式为history,导致页面空白返回404
假如有这样一个测试的访问地址:127.0.0.1/h5/home 可以访问到项目下的home页面
官方解释history模式下我们就需要增加一个base: ‘/h5’,而这个base即为项目路径,这里的/h5也是后端或ng配置的那个ip指向
解决办法如下:

export default new Router({
	mode: 'history',
	base: '/h5'
})

原因:
(1)history模式是h5 api的 history.pushState,就是浏览器模拟了一条历史,而真正服务器上没有这个路径资源,而在 history模式下请求会把整个url发送过去,这样就需要保持前后端url一致否则会返回404;
(2)在默认模式hash下发送请求#号之前的url会被包含在请求中即使后端没有对路由的全覆盖,也不会返回404错误;
一个人的快乐,不是因为他拥有的多,而是因为他计较的少

你可能感兴趣的:(前端,Vue)