背景
- 前端开发同学在拿到接口文档后,往往需要结合接口数据进行开发;
- 在接口未可用时,前端开发一般通过如下途径进行
数据mock
:- 本地业务逻辑代码掺杂假数据,但具有开发侵入性;
- 本地项目引入mockjs、mocker-api、can-fixture等插件进行mock数据,具有数据共享弱、项目协作时需重复创建mock等缺点;
- 本地私人机器临时搭建
mock server
,虽解决了以上问题但具有服务依赖个人、维护性差等缺点; - 使用
第三方在线mock服务
,具有数据泄漏、服务不稳定等缺点;
数据mock
能力越弱,对模块或组件的的单测程度的负面影响越大;
目标
- 支持
在线mock
服务 - mock服务文档
- 支持
jsonp
- 支持
动态返回``mock数据
- 支持自定义响应头
- 支持
mockjs语法
后端接口
可低成本对接mock服务
,减少前端数据定义成本- 支持
项目管理
- 支持
私有化部署
方案调研
方案选取
尽管可以自行实现,但投入人力和时间成本不允许,最终采用私有化部署成熟的mock方案。再结合私有化部署的成熟程度及平台的用户体验,最终选择私有化部署easymock
。
方案实现
只部署内网环境,主要流程如下:
- 申请服务器;
- 服务器配置;
- 区分文件夹用处;
- 安装
npm
、nvm
、nrm
; - 安装配置
git
、mongoDB
、Redis
;
- 将
easy-mock 源代码
保管至gitlab
,方便后续维护。再将代码克隆至服务器指定文件夹,按照指导文档进行相关配置; - 配置
jenkins
和gitlab Webhooks
,实现后续推送easy-mock
实现自动化部署; - 创建
三级域名
并配置dns
、nginx
; - 使用pm2管理
easymock 服务
;
项目进度
已于2021年6月私有化部署完成并投入使用。