我们一般在做前端项目的时候,经常需要后端数据接口的支持,一般来讲,虽然后端数据接口以及服务端搭建在一个项目当中,是先于前端完成的,但是!前端往往在开发阶段,后端的数据接口可能由于这样那样的原因,出现问题,或者还没有做出来,或者由于跨域网络等原因,前端获取不到,那么前端就必须自己动手去模拟数据了;
传统的模拟数据,一般都是自己在前端项目当中去手写json格式的数据文件,需要几个写几个,可以按照数据类型写多个,当然也可以将几十个类型的json数据整合到一个json文件,需要获取数据的时候,直接通过ajax方式读取json文件的数据,然后通过obj.xx的形式获取需要的json类型数据,那么我们这里我们就要想想,假设我的json文件存在public/data这个文件夹下,请求的数据是news.json数据的文件,那么ajax请求就是:
this.$http.get('/public/data/news.json').then(function () {})
很显然,我们请求的是一个文件的路径,这一点问题也没有,但是我们想想。。。后端一般给前端的接口是怎样的,是不是'/api/news'、'api/user'等格式的接口,接口地址字符串长度一般都很短,绝对不会像上面的文件路径一样的格式,那么我们既然是模拟数据,那就模拟的完善一点,干脆就把ajax请求的路径也写成'/api/xxx'格式,那该怎么办呢?这个时候我们就想到了mock这个插件,他可以根据ajax请求的路径拦截,从而自己去做一些数据请求的逻辑,然后将请求的数据返回给ajax,我们再去ajax处理业务逻辑就好了,这样,当后端数据正常提供的时候,前端人员基本就不用大改ajax请求的url地址了,基本都是小改。。。说了这么多大家可能还体会不到mock的好处,那我就来总结下吧:
1、ajax请求json数据接口的文件的地址和'/api/xxx'的区别和便利;
2、mock本身灵活的数据模拟api(这里不讨论);
3、后端接口未编写完毕的时候,如果前端不使用mock模拟数据调试,那么等到后端数据端口给过来后,由于