moke 的优点:
- 开发阶段,为了高效率,需要提前Mock
- 减少代码冗余、灵活插拔
- 减少沟通,减少联调时间
mock设置的方法:
- 本地创建json
- easy-mock平台
- 集成Mock API
本地创建json:
//本地加载请求静态json文件形式,直接请求如下
// this.axios.get('/mock/user/login.json').then((res)=>{
// this.res=res;
// })
特点:虽然简单但是当请求真正的接口时,需要修改代码(真实接口并不是在mock中)
easy-mock:
特点:代码改动较少,但是easy-mock网站非常容易垮掉,一旦出问题,那整个项目都不行了
本地继承mockjs实现mock数据:
mockjs是用js实现的插件库,可以拦截数据拦截请求,返回数据。但实际并未发生真正的请求,即只是代码层面的拦截后直接返回。
import Mock from 'mockjs';
Mock.mock('/api/user/login',{
"status": 0,
"data": {
"id": 12,
"username": "admin",
"email": "[email protected]",
"phone": null,
"role": 0,
"createTime": 1479048325000,
"updateTime": 1479048325000
}
})
在main.js中引入:
//根据前端的跨域方式做调整/a/b :/api/a/b=>/a/b
axios.defaults.baseURL='/api';
axios.defaults.timeout=8000;
//mock开关
const mock = true;
if(mock){
require('./mock/api')
}
备注:import和require的区别
import:预编译加载
requre:从上到下去执行时才加载