mockjs模拟后端数据

238 阅读1分钟

生成随机数据,拦截 Ajax 请求 mock官网当中这句话的理解: 模拟的数据一般:对象、数组 { 'a|1-10':'我爱你' } 拦截ajax请求:请求发不出去【浏览器会进行拦截:笨想,因为服务器】,只是项目当中本地自己玩耍数据。

第一步:安装依赖包 mockjs

npm i mockjs

第二步:在src文件夹下创建一个文件夹,文件夹mock文件夹。

用于存放所需的虚拟数据

第三步:准备模拟的数据

把mock数据需要的图片放置于public文件夹中! 比如:listContainer中的轮播图的数据 [ {id:1,imgUrl:'xxxxxxxxx'}, {id:2,imgUrl:'xxxxxxxxx'}, {id:3,imgUrl:'xxxxxxxxx'}, ]

第四步:在mock文件夹中创建一个server.js文件

对于webpack当中一些模块:图片、json,不需要对外暴露,因为默认就是对外暴露。

第五步:在server.js文件中通过mock模块模拟出数据

通过Mock.mock方法进行模拟数据

import Mock from 'mockjs'
// 引入JSON模拟的数据
import banner from './banner.json'
import floor from './floor.json'

// mock数据:第一个参数:请求地址   第二个参数:请求数据
Mock.mock('/mock/banner', { code: 200, data: banner }) // 模拟首页大轮播图数据
Mock.mock('/mock/floor', { code: 200, data: floor })

第六步:回到 main.js 入口文件,引入serve.js

mock需要的数据 | 相关mock代码页书写完毕,关于mock当中serve.js需要执行一次, 如果不执行,和你没有书写一样的。

第七步:二次封装的axios中修改根路径

根路径 baseURL:'/mock' 专门获取模拟数据用的axios实例。

// 对 axios 进行二次封装
import axios from 'axios'
const requests = axios.create({
  // 根路径
  baseURL: '/mock'
})```