Mockjs是什么
是一个模拟数据生成器,可帮助前端开发和原型与后端进度分开,并减少某些单调性,尤其是在编写自动化测试时可以帮助生成想要的模拟数据。更多信息传送门mock.js。
这里我们侧重开发阶段来介绍,举个例子:当启动一个新项目的时候,前端后端几乎都是同时启动,此时前端在开发过程中很有可能还不能调用后端接口的,因为后端此时也才刚开始,并没有条件来提供接口。那么此时前端开发过程中需要的数据怎么来?一种就是在前端直接写死,等后端接口出来了以后,再通过添加请求、修改代码的方式进行完善。另外一种就是使用某些技术手段模拟一些数据或者拦截发送的Ajax请求来模拟一些数据实现。
而Mock.js就比较像第二种情况,在没有后端接口的情况下,前端代码也可以发送和正式/测试环境中相同的请求,此时通过引入和配置Mock.js可以拦截该请求,然后返回Mockjs模拟出来的数据。此方式的好处就是无缝切换,当后端接口写好后,只需要关闭Mockjs拦截即可连接到后端的接口,而不需要添加、修改或删除任何代码。
为什么要用Mock再写一个数据生成器
Mock.js是可以直接引入到前端项目,通过配置即可使用的,那么为什么还要专门基于Electron写一个服务器呢?
答案也很简单,没事做 闲得。当然这只是其中一个原因。还有一个原因:如果直接在项目中引入mock.js的话,那么当切换到正式环境的时候,这部分代码是多余的,不管使用什么方式都是需要做处理的。而且当多人参与同一个项目的时候,每个人都会去新增数据模拟接口,多人维护一个或者多个配置文件也是不方便的。
但是,如果做成了一个服务的话,可能会不一样。在自己的电脑,或者某一台公用的主机上,安装该服务,打开界面,配置好该项目要用到的接口数据,然后启动服务。此时再在前端代码中发起请求,可以说和请求后端接口就没有任何区别了,甚至当后端接口完成后,切换到后端接口的时候可以做到零改动。代码所在地:https://gitee.com/underline/DataMock-Electron.git