前后端分离是目前主流的团队开发方式,有效的隔离不同技术领域开发人员的依赖,包括开发进度上的依赖和代码文件上的依赖。而做到这一点,全靠一个规则:依赖接口而不依赖实现
web领域前后端分离,通常都会选择基于http+json的方式,在进入代码编写之前,团队会定义好所有依赖的接口,前后端开发人员遵照接口文档各自完成自己的工作,完美!
当然也有一些例外,比如有一类人叫做全栈工程师,这类人就无需考虑太多,前后一手包了,交流什么都不用,直接就撸出一个产品给你了
言归正传,在开发进度不一致的情况下,前端的ui做好了,后端接口还没能提供数据给到前端这边测试,这时候,前端都会自己写模拟数据填充
模拟数据
新建静态文件模拟
例如,获取一个列表的数据,创建一个list.json
的文件
|
|
获取数据
|
|
要切入正式环境,需要手动修改url为接口地址
当前js文件模拟
|
|
用循环生成列表的数据,但数据的随机性不高,想要应对多种样式的ui需要加一些复杂的判断去生成不同类型数据
模拟数据假想
我们都是比较懒的,想要一劳永逸,能少改就不改,上面的两种数据模拟方式,要是比较复杂的系统,改起来当真是要命,铺垫了这么久,看看我们的主角Mock.js
Mock.js
生成随机数据,拦截 Ajax 请求,这是官网原话
主要功能
- 前后端分离 —- 让前端攻城师独立于后端进行开发
- 增加单元测试的真实性 —- 通过随机数据,模拟各种场景
- 开发无侵入 —- 不需要修改既有代码,就可以拦截 Ajax 请求,返回模拟的响应数据
- 数据类型丰富 —- 支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等
- 用法简单 —- 符合直觉的接口
- 方便扩展 —- 支持支持扩展更多数据类型,支持自定义函数和正则
完全符合我们的懒,开发无侵入
实践
引入mock.js
|
|
新建一个mockServer.js
|
|
获取数据
|
|
模拟数据:
切入正式环境时,将mockServer.js删除,如下,真实数据:
一个小工具,可以节省了很多时间,可以不用受到后台接口数据的牵制,不过有一个大前提,开工之前
必须订好接口文档,双方对着接口文档开发!
必须订好接口文档,双方对着接口文档开发!
必须订好接口文档,双方对着接口文档开发!
重要事情说三遍,无数次体会到接口数据模拟完之后,接口一出,字段全改了,偶尔几个蒙对就好像中了彩票一样兴奋