介绍router的两个模式
1.hash模式:原理是onhashchange事件 请求中是在hash值之前的内容,所以请求始终是有效的,如请求的是http://www.baidu.com/8888,只需要有http://www.baidu.com的路由就不会出现404错误所以改成这个就不会出现404错误。
2.history模式:原理是利用了h5的Interface 中的pushState()方法和replaceState()方法,它们提供了对浏览器历史记录进行修改的功能,但当它们执行修改时,虽然改变了当前的 URL,但浏览器不会立即向后端发送请求。所以就造成了客户端的URL和服务器请求的url不一致,才出现的url错误。
成功解决方式
nginx.config 中添加
error_page 404 /index.html;
重启nginx, 解决问题