• 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)
        })
      }
    }
    
  • 相关阅读:
    Celery
    Xadmin的基本使用 补充:admin控制user字段
    Python pip换源 创建虚拟环境 luffy项目配置(数据库bug)
    gitignore 文件 刷新
    django python mange.py runserver 源码
    leetcode125. 验证回文串 python 简单
    leetcode1028 从先序遍历还原二叉树 python 100%内存 一次遍历
    fiddler
    xpath
    linux常用命令
  • 原文地址:https://www.cnblogs.com/sanhuamao/p/13614991.html
Copyright © 2020-2023  润新知