zoukankan      html  css  js  c++  java
  • vue+axios 模拟后台返回数据的三种方式:本地创建json、easymock平台、mockjs

    前提

    创建一个vue项目

    vue create mock
    

    安装并引入axios

    npm install axios vue-axios --save-dev
    
    //main.js
    import axios from 'axios'
    import VueAxios from 'vue-axios'
    Vue.use(VueAxios,axios)
    

    本地创建json

    在public下创建一个本地json来模拟接口返回的数据,如下:

    image-20200904165956905.png

    {
        "status":0,
        "data":{
            "id":1
        },
        "msg":"请求成功"
    }
    

    在App.vue里面请求该静态文件进行测试。

    export default {
      name: 'App',
      mounted(){
        this.axios.get('/mock/user/login.json').then(res=>{
          console.log(res.data)
        })
      }
    }
    

    启动项目后成功打印数据

    image-20200904170050340.png

    easymock平台

    在该平台创建项目,然后配置接口的baseURL,让它等于平台项目baseURL

    image.png

    //main.js
    axios.defaults.baseURL= 'https://www.easy-mock.com/mock/5f51f760a758c95f67d6ef72/mall';
    //当然你也可以不配置,这样的话请求的时候将完整的url写上去即可
    

    这种方式会发送真实的请求,然后你就可以在控制台看到打印的数据了

    export default {
      name: 'App',
      mounted(){
        this.axios.get('/user/login').then(res=>{
          console.log(res)
        })
      }
    }
    

    Mockjs

    安装插件

    npm install mockjs --save-dev
    

    创建文件并导入插件库,在里面写你想要模拟的数据

    image.png

    //api.js
    import Mock from 'mockjs'
    Mock.mock('/user/login',{
        "status":0,
        "data":{
            "id":2
        },
        "msg":"成功"
    })
    

    启动

    //main.js
    const mock=true
    if(mock){
      require('./mock/api')
    }
    

    mockjs的原理就是你请求的url与你模拟的url要一一对应。这样请求就跟真实的接口非常相似。它不会发真实的请求,只是模拟返回数据。

    export default {
      name: 'App',
      mounted(){
        this.axios.get('/user/login').then(res=>{
          console.log(res.data)
        })
      }
    }
    
  • 相关阅读:
    [Codeforces 933A]A Twisty Movement
    [Codeforces 100633J]Ceizenpok’s formula
    [HAOI 2011]向量
    [JSOI 2008]最大数
    [Codeforces 750E]New Year and Old Subsequence
    [BZOJ 3439]Kpm的MC密码
    [TJOI 2013]单词
    [SCOI 2011]糖果
    [BZOJ 2160]拉拉队排练
    [AtCoder arc090F]Number of Digits
  • 原文地址:https://www.cnblogs.com/sanhuamao/p/13614991.html
Copyright © 2011-2022 走看看