??前言大家好我是小卢,事情是这样子,前段时间有个前端朋友入职了,为了简历更好看在里面写道:「"在前端熟练使用Mock调试接口,模拟接口数据,减少联调问题大大提高了开发效率"」但是在入职后在开会的时候被指出项目开发进度缓慢。「产品经理」:为什么项目进度这么慢?「后端」:已经快马加鞭写接口中,部分接口我已经给了前端接口文档??。「前端」:我的页面写好了后端接口没写好,我的前端页面大大依赖后端接口,我没有办法进行数据调试??。「前端组长怒吼」:你不是说你会用Mock?你倒是用啊??!以上根据真实事件改编???♂?问题出在哪当这个朋友找到我的时候我很是疑惑?对啊你不是说会用Mock吗怎么不用呢???后来我才得知原来他说的熟练使用Mock是指在前端根据每个接口来写一个json来对应接口调用。这样不仅耗时长还容易写错,怪不得会被吐槽开发效率慢。“那小卢哥,有没有什么办法可以让我在本地快捷进行Mock调试呢???”那当然有啦,听我细细道来,但是在这之前先给新同学科普一下Mock是什么??什么是Mock如上图所示,这是我们在开发中「必须经历」的过程。在普遍的开发环境中,我们在拿到一个需求的时候,一般都是前后端同时开发。什么?你说能不能一个需求等后端全部开发完了再让前端对接,这是不可能的事情??,除非公司是你家的。但是事实上很多时候前端能力较强的小伙伴们,写页面的速度都特别快,唰唰唰很快啊几个静态页面全部做完了,剩下的就是对接口了。这时候就需要涉及到数据方面的coding,我们需要依赖返回的接口数据进行一些复杂的逻辑处理,但是在对接口的同时难免会遇到接口文档描述不清晰的情况,比如参数名写错了,是否必填没有标注出来,种种让人头皮发麻的小问题暴露出来。你要知道在开发的路上不只是你自己一个人在忙,如果每个事情都跑去问后端:「“你这是不是写错了”」,「“哪个是必填啊”」,耽误的是大家的时间,反而还会给后端同事营造一种「“你好菜啊”」的感觉??。这时候学会使用最适合自己的Mock数据的方法就非常重要,Mock翻译过来就模拟,顾名思义ApiMock就是模拟接口数据。说白了就是「在后端数据没有出来的情况下,还能获取到和后端约定数据结构一样的模拟数据的一门技术」,以避免后端接口进度滞后影响我们正常的开发。?????别人是怎么做的如果你说你们公司的接口后端都会给你写好假数据假接口来供你调试,那我强烈建议你多请他多吃几次烤羊腿??,毕竟这种后端少之又少,如果有,那肯定是跟你过命的好兄弟了。在征集了一些前端朋友的现状后总结出大家经常用的是以下方法,我就不详细讲怎么使用了,给大家简单说一下优缺点我再总结一个最方便大家Mock数据的方法。本地模拟数据在项目里面根据接口返回的数据进行模拟编写json,请求的时候请求到本地的json文件进行数据处理。优点:没有优点。缺点:虽然简单粗暴了解决了Mock数据的问题,但是也只是适用于只有几个接口的项目。一旦接口数量多起来,每个接口都需要去写一套返回参数,你不烦吗,反正我烦了。侵入前端代码,一个合格的前端团队是不允许有任何没必要的代码、注释出现的,更别说这么多的json文件。调用接口的时候url需要换成本地json地址,等到后端开发完成后还需要根据实际情况来进行替换,地球人都知道,一个项目的接口数不胜数,这样不仅仅浪费了很多时间还容易出错,我用这时间去喝个奶茶??不香吗。接口管理平台相信大多的前端开发者都是在某些平台拿取到后端同学的接口文档来进行开发,当然里面也是可以进行Mock数据的。优点:不用侵入我们的前端代码,在调接口的时候只需要更换后端同学设定的Mock接口就可以。接口文档跟Mock一体化,后端同学修改了文档后也会一并修改Mock接口。缺点:太依赖于后端同学了,甚至在我认识的大部分后端里面没有人愿意去写这个Mokc数据给前端进行调用的。增加后端开发的时间,不仅要保证Mock数据的可用性还要考虑整个项目开发的进度,有这个时间也可以喝几杯奶茶了。大部分公司都不会提供这种特殊服务,项目成本逐渐提升。请求拦截返回假数据数据拦截指的是通过模拟Http请求对相应匹配的接口进行真实请求拦截,返回模拟的数据。最具代表性的应该就是Mock.js了吧,具体怎么使用大家可以去查看
转载请注明:http://www.aierlanlan.com/tzrz/267.html