生成随机数据,拦截 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'
})```