vue联动mockjs模拟请求获取数据

前言:在我们实际开发中,前端和后端是同时进行开发的,我们不可能在开发的初期就要求后端立即写好接口,所以这个时候我们使用mockjs来模拟接口获取数据,这也是现在流行的开发模式,前后端分离
1.安装依赖

npm i -D mockjs
npm i -D json5

在vscode扩展中安装JSON5 syntax
2.新建mock文件夹且在文件夹新建index.js和userInfo.json5 vue联动mockjs模拟请求获取数据
index.js内容

const fs = require('fs')
const path = require('path')
const JSON5 = require('json5')
const Mock = require('mockjs')
function getJsonFile(filePath) {
  var json = fs.readFileSync(path.join(__dirname, './userInfo.json5'), 'utf-8') //传入的文件
  return JSON5.parse(json)
}
module.exports = function(app) {
  app.get('/user/userinfo', function(rep, res) { //这里就是模拟请求地址
    var json = getJsonFile('./userInfo.json5') //传入的文件
    res.json(Mock.mock(json))
  })
}

userInfo.json5内容(模拟的内容) 如果这里一直报错请检查自己的依赖和扩展是否安装成功

{
  id:"@id()"
}

3.vue.config.js设置

module.exports = {
  devServer: {
    before: require('./src/mock')
  }
}

4.until文件夹新建request.js api文件夹新建user.js
vue联动mockjs模拟请求获取数据
request.js里写

import axios from 'axios'
const service = axios.create({
  baseURL: '',
  timeout: 5000
})
export default service

user.js里写

import request from '@/util/request'
export function getUserInfo() {
  return request({
    url: '/user/userinfo'
  })
}

5.在vue里调用

import { getUserInfo } from '../api/user'
export default {
  data() {
    return {
      id: 0
    }
  },
  async created() {
    const res = await getUserInfo()
    console.log(res)
  }
}

最后就能看到模拟的结果了

上一篇:Spring JdbcTemplate之使用详解


下一篇:react-使用mock创建假数据书写页面