问题描述:
在使用地图组件的时候,因为数据都是自己写的,所以我选择了mockjs来实现虚拟数据,但是在渲染的时候,地图的资源居然不显示了,一开始我以为是key出现了问题,但是更改玩key还是不显示,这到底是怎么回事呢?
解决办法:
查了一下mock.js的工作原理,它直接替换了xhr请求,改成了自己的实现,如果路由没有匹配到,就进行跳转。这种实现方式对二进制流有较大的影响。 解决方案有两个,一个是去掉mock.js二是修改mock.js的源码
1.首先我们在node_modules找到mockjs
node_modules/mockjs/dist/mock.js
2.然后我们需要修改一下他的源码
修改前://大概在8360行
if (!this.match) { this.custom.xhr.send(data) return }
然后我们替换成:
修改后:
if (!this.match) { this.custom.xhr.responseType = this.responseType this.custom.xhr.send(data) return }
然后重启项目就可以啦!
如果有更好的办法,欢迎各位小伙伴来评批指正~