搭建前端接口mock服务

1,067 阅读2分钟

背景

  • 前端开发同学在拿到接口文档后,往往需要结合接口数据进行开发;
  • 在接口未可用时,前端开发一般通过如下途径进行数据mock
    • 本地业务逻辑代码掺杂假数据,但具有开发侵入性;
    • 本地项目引入mockjsmocker-apican-fixture等插件进行mock数据,具有数据共享弱、项目协作时需重复创建mock等缺点;
    • 本地私人机器临时搭建mock server,虽解决了以上问题但具有服务依赖个人、维护性差等缺点;
    • 使用第三方在线mock服务,具有数据泄漏、服务不稳定等缺点;
  • 数据mock能力越弱,对模块或组件的的单测程度的负面影响越大;

目标

  • 支持在线mock服务
  • mock服务文档
  • 支持jsonp
  • 支持动态返回``mock数据
  • 支持自定义响应头
  • 支持mockjs语法
  • 后端接口可低成本对接mock服务,减少前端数据定义成本
  • 支持项目管理
  • 支持私有化部署
方案调研

image.png

方案选取

尽管可以自行实现,但投入人力和时间成本不允许,最终采用私有化部署成熟的mock方案。再结合私有化部署的成熟程度及平台的用户体验,最终选择私有化部署easymock

方案实现

只部署内网环境,主要流程如下:

  1. 申请服务器;
  2. 服务器配置;
    1. 区分文件夹用处;
    2. 安装npmnvmnrm
    3. 安装配置gitmongoDBRedis
  3. easy-mock 源代码保管至gitlab,方便后续维护。再将代码克隆至服务器指定文件夹,按照指导文档进行相关配置;
  4. 配置jenkinsgitlab Webhooks,实现后续推送easy-mock实现自动化部署;
  5. 创建三级域名并配置dnsnginx
  6. 使用pm2管理easymock 服务

项目进度

已于2021年6月私有化部署完成并投入使用。