并行开发等接口?不存在的,前端Mock数据篇

156 阅读2分钟

工作中经常碰到后端接口在开发中,前端自己造假数据的情况。记录下工作中我常用的几种方式。

1. 前端项目引入mock.js

  • 根目录下创建mock文件夹

image.png

  • 文件夹中加入你要mock的模块接口,以login.js为例
image.png
  • 然后在mock/index.js中引入login.js以及为其他模块mock的js文件,方便我们要在main.js统一引入
image.png
  • 最后在咱们需要用的地方直接axios请求即可,mock会拦截xhr请求,我们请求回来的都是mock生成的数据。

弊端:这种方式简单粗暴,但是我们在与后端联调和上线的时候,必须要删掉mock的引用,因为它会拦截我们的请求,避免出现生产事故

2.自行搭建一个简单的本地mock服务

  • npm init -y 开始,初始化一个package.json
  • 安装 mock.js。 npm i mockjs -S
  • 同样的,我们需要在根目录下新建一个mock文件夹
  • image.png
  • 以test.js为例,我们引入mock,然后利用mock中强大的random模块随机生成一个中文名 *image.png
  • 在mock/index.js中引入test.js等文件

  • image.png
  • 安装koa以及koa-router npm i -S koa koa-router,并且在项目根目录下新建index.js文件

  • image.png
  • 然后在这个文件下编写下面的js代码就差不多完成啦

  • 最后可以安装下nodemon,npm i -D nodemon,,用来监控文件的改变,自动重跑项目,记得package.json的script脚本中加上"dev": "nodemon index.js",然后npm run dev就哐哧哐哧跑起来了。

  • image.png

项目里面使用就简单了,在你的vue.config.js或者你的craco.config.js里改下proxy的代理就行,vite的项目也大差不差

image.png

这样就全部搞定啦,可以开始愉快地开启自嗨模式。等后端开发完理论上你只需要改代理的地址即可(你的mock数据格式和后端返回的数据格式一致)

3.在线mock

在线mock不需要自己像上面一样霹雳吧啦写一大堆,简单方便,但可能会存在网络不稳定等问题。除非是公司内部的mock平台,否则就不是很推荐了

收工~~~~