Vue伪装后端响应前端请求-mockjs的安装和使用

  1. mockjs库是什么

mockjs库用于在后端人员没有给你请求接口时,但是你已经做好这部分的功能,需要测试,所有有了mockjs ,可以拦截ajax请求,在发送我们提前定义好的假数据回本地响应刚刚的请求

  1. mockjs的安装引入

  • 在src文件夹下创建一个mock文件夹,mock文件夹下需要创建一个js忘记,设置发送数据的路径

  • 最后需要引入mock中的这个js文件进入main.js中,才能使用mock

在终端下载mockjs
npm i mockjs
// 引入MockServer.js 【mock虚拟数据】
import '@/mock/mockServer'
  • 在mock文件夹下创建两个两种类型文件,一种json后缀的文件,用来填写你发送的假数据,如下图

  • 当然还有之前说的js文件,在这个文件中,我们需要引入mockjs这个库,再把准备好的假数据json文件引入,最后我们要设置路径和请求状态还有数据

我们需要把假数据引入到js文件中,并设置他的请求地址和请求数据
// 先引入mockjs模块
import Mock from 'mockjs';
// 把JSON 数据格式引入进来【JSON数据格式根本没有对外暴露,但是可以引入】
// todo webpack默认对外暴露:图片、JSON数据格式
import banner from './banner.json'

// ?mock数据:第一个参数请求地址,第二个参数:请求数据
Mock.mock('/mock/banner', { code: 200, data: banner })

  1. 发送请求

在请求数据文件夹api下创建mock模拟数据请求文件,这个文件请求代码放在下面了
// todo 这是个模拟数据的请求文件

// 对于axios 进行二次封装
import axios from 'axios'

// * 1、利用axios 对象的方法 create,去创建一个axios实例
// * 2、requests 就是axios,只不过稍微配置一下
const requests = axios.create({
    // todo 配置对象

    // ? 基础路径,即向http://xxx.xxx.8080发请求时,后面都会带有 [/api] 的路径
    baseURL: '/mock',

    // ? 代表请求时间超时的时间是:5s
    timeout: 5000,
})

// todo 3.1、请求拦截器:在发送请求之前,请求拦截器可以检测到,可以在请求发出去之前做一些事情
requests.interceptors.request.use((config) => {
    // ? config: 配置对象,对象里面有一个属性很重要,header请求头
    return config
})

// todo 3.2、响应拦截器:服务器响应数据回来以后,拦截器可以检测到,可以做一些事情
requests.interceptors.response.use((res) => {
    // * 响应成功的回调函数
    return res.data
}, (error) => {
    // * 响应失败的回调函数
    return Promise.reject(new Error('faile'))
})

// *对外暴露
export default requests
  • 现在可以发送数据了,在这里我是设置发送函数,然后在vuex请求

  1. 注意点

我们的假数据图片资源是要凡在public文件夹下的,这样才能使用

在这里面,我们需要创建一个专门放置图片的文件夹,images文件夹

猜你喜欢

转载自blog.csdn.net/weixin_49931650/article/details/129462161
今日推荐