前言:
MOCK实际就是模拟数据
开发阶段,为了高效率,需要提前MOCK
减少代码冗余,灵活插拔
减少沟通,减少接口联调时间

创建mock的方案:
本地创建json 比较笨
easy-mock平台 比较方便,涉及带宽资源,因为是开源的访问的人多,可以本地部署
集成mock api

先来介绍一下本地创建json:
本地创建json文件就行
pass

app.vue中写入:

mounted(){
    this.axios.get()  //之所以我们可以用this.axios是因为我们已经在main.js中把axios挂在到vue实例中,如果没有挂在就需要import axios from 'axios'
  },

this.axios.get('') //需要写入this.axios.get('/mock/user/login.json')//因为我们是请求本地这个跟就是public所以我们可以省略,后面接的就是/目录的下一层直到模拟数据

我们需要在data数据中创建res:{}用于存放模拟响应的数据

data(){
    return{
      res:{}
    }

示例:
Q2USVN$GTS6OCHX~@@U1Y_7.png

请求以及返回:

 mounted(){
    this.axios.get('/mock/user/login.json').then((res)=>{
        //返回数据
        this.res = res;
    })
  },

第二种方法easy-mock平台:
pass

第三种mockjs api插件:
前面2中主要是借助第三方平台还自己写json.
这第三种是利用mockapi进行自定义生成数据。
安装:

npm install mock --save-dev

//定义mockapi的状态如果为true代表加载,否则不加载,这里采用require进行从上到下加载
const mock = true;
if(mock){
  require('./mock/api'); //这里采用require进行从上到下加载
}

示例:
![CLL4]B}NENE)V4L){@09OEQ.png][2]

这里我们还需要准备一个mock文件夹里面创建api.js或者mock.js用于存放我们生成的数据
NJ7~_3H4OATE(PSC0}[P9T5.png

mock.js内容:
导入mock插件进行生成对象调用方法$1为接口 $2为数据

import mock from 'mockjs'

mock.mock('/api/user/login',{
    "status":0,
    "data":{
        "id":12,
        "username":'admin',
        "email":'admin@164.com',
        "phone":'123445',
        "role":0,
        "createtime":123132321312,
        "updatetime":211323123121

    }
})

引入mock生成的数据:

const mock = true;
if(mock){
  require('./mock/api'); //mock的位置
}

注意mock目录下的mock文件要是api.js

启动nodejs服务器:
npm run serve
游览器访问:
78{C[V8D$XH0308)2$BHM74.png

通过前几节的学习利用vue-tools的vue插件进行查看app实例下的data数据

如果要多生成几个接口:

import mock from 'mockjs'

mock.mock('/api/user/login',{
    "status":0,
    "data":{
        "id":12,
        "username":'admin',
        "email":'admin@164.com',
        "phone":'123445',
        "role":0,
        "createtime":123132321312,
        "updatetime":211323123121

    }
})

mock.mock('/api/re/ret',{
    "status":0,
    "data":{
        "id":12,
        "username":'user',
        "email":'user@164.com',
        "phone":'123445',
        "role":0,
        "createtime":123132321312,
        "updatetime":211323123121

    }
})

示例:
![4ZWE3BK1070Z]4$47~F(FSO.png][4]

接下来说说mock的语法:

mock.mock('/api/re/ret',{
    "status":0,
    "data":{
        "id|1-3":12, //id|1-3产生1-3的随机数
        "username":'@cname', //随机产生名字 cname中文 name为英文
        "email":'user@164.com',
        "phone":'123445',
        "role":0,
        "createtime":123132321312,
        "updatetime":211323123121

    }
})

示例:
R$F`E[JSR1JQV87QCR%WT66.png

总结:
mock在开发中生成随机数据进行访问,用于前后联调,比较重要,3中方法推荐后两种.

最后修改:2021 年 03 月 25 日 10 : 38 PM
感谢您的,打赏!