Mock.js模拟数据

一、为什么使用mockjs
在做开发时,当后端的接口还未完成,前端为了不影响工作效率,手动模拟后端接口

我们可以使用json文件来模拟后台数据,但比较局限,无法模拟数据的增删改查
使用json-server模拟,但不能随机生成所需数据
使用mockjs模拟后端接口,可随机生成所需数据,可模拟对数据的增删改查
二、mock优点
前后端分离,
可随机生成大量的数据
用法简单
数据类型丰富
可扩展数据类型
在已有接口文档的情况下,我们可以直接按照接口文档来开发,将相应的字段写好,在接口完成 之后,只需要改变url地址即可。
三、mock使用

1、首先需要下载安装mockjs模块

安装命令:

npm install --save mockjs

2、然后可以在scr下创建一个文件夹,用于存放模拟的数据的文件 例如 /src/mock/index.ts,在这个文件中


import Mock from 'mockjs'

//设置请求延时
Mock.setup({
    timeout: '200-2000' //单位为毫秒
})

// Mock.mock(请求路径,请求方式,()=>{})
Mock.mock(/\/api\/test/, 'get', (req: any) => {
    // console.log(req);

    return {
        code: 200,
        data: {
            msg: '请求成功'
        }
    }
})


// 登陆页轮播图接口

Mock.mock(/\/api\/loginSwiper/, 'get', (req: any) => {
    return {
        code: 200,
        data: {
            bannerList: [
                {
                    img: require('@/assets/loginSwiper/slide1.webp'),
                    id: 1
                },
                {
                    img: require('@/assets/loginSwiper/slide2.webp'),
                    id: 2
                },
                {
                    img: require('@/assets/loginSwiper/slide3.webp'),
                    id: 3
                },
                {
                    img: require('@/assets/loginSwiper/slide4.webp'),
                    id: 4
                }
            ]
        }
    }
})



// 暴露mock
export default Mock;

注意:

 发现引入mockjs部分报错,没有找到 mockjs//无法找到模块“mockjs”的声明文件。

解决方案:

shims-vue.d.ts文件中添加




declare module 'mockjs'

​

 3、模拟完数据后,需要在入口主文件 main.ts中 引入这个模拟数据的文件

// 在main.ts中引入mock
import './mock/index'

4、在页面中,我们直接可以进行axios请求。

<script lang="ts" setup>
import { ref, reactive, getCurrentInstance, onMounted } from 'vue'
// 创建当前组件的实例
let { proxy }: any = getCurrentInstance()

const images = [
    'https://fastly.jsdelivr.net/npm/@vant/assets/apple-1.jpeg',
    'https://fastly.jsdelivr.net/npm/@vant/assets/apple-2.jpeg',
];


// 请求首页轮播图数据
const getSwierImg = async () => {
    let { data: res } = await proxy.$http.get('/api/loginSwiper')
    // 请求登录轮播图的数据
    console.log(res);

}
onMounted(() => {
    getSwierImg()
})
</script>

5、结果

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值