工作中经常碰到后端接口在开发中,前端自己造假数据的情况。记录下工作中我常用的几种方式。
1. 前端项目引入mock.js
- 根目录下创建mock文件夹
- 文件夹中加入你要mock的模块接口,以login.js为例
- 然后在mock/index.js中引入login.js以及为其他模块mock的js文件,方便我们要在main.js统一引入
- 最后在咱们需要用的地方直接axios请求即可,mock会拦截xhr请求,我们请求回来的都是mock生成的数据。
弊端:这种方式简单粗暴,但是我们在与后端联调和上线的时候,必须要删掉mock的引用,因为它会拦截我们的请求,避免出现生产事故
2.自行搭建一个简单的本地mock服务
- 从
npm init -y开始,初始化一个package.json - 安装 mock.js。
npm i mockjs -S - 同样的,我们需要在根目录下新建一个mock文件夹
-
- 以test.js为例,我们引入mock,然后利用mock中强大的random模块随机生成一个中文名
*
-
在mock/index.js中引入test.js等文件
-
-
安装koa以及koa-router
npm i -S koa koa-router,并且在项目根目录下新建index.js文件 -
-
然后在这个文件下编写下面的js代码就差不多完成啦
-
-
最后可以安装下nodemon,
npm i -D nodemon,,用来监控文件的改变,自动重跑项目,记得package.json的script脚本中加上"dev": "nodemon index.js",然后npm run dev就哐哧哐哧跑起来了。 -
项目里面使用就简单了,在你的vue.config.js或者你的craco.config.js里改下proxy的代理就行,vite的项目也大差不差
这样就全部搞定啦,可以开始愉快地开启自嗨模式。等后端开发完理论上你只需要改代理的地址即可(你的mock数据格式和后端返回的数据格式一致)
3.在线mock
在线mock不需要自己像上面一样霹雳吧啦写一大堆,简单方便,但可能会存在网络不稳定等问题。除非是公司内部的mock平台,否则就不是很推荐了
收工~~~~