Vue3中使用mock.js模拟数据的示例详解

 更新时间:2025年03月12日 09:44:58   作者:冲!!  
前后端同时开发的时候,后端接口数据没有出来,前端可以使用mock模拟假数据,所以下面小编就来为大家详细介绍一下如何在Vue3中使用mock.js模拟数据吧

mock.js是什么

前后端同时开发的时候,后端接口数据没有出来,前端可以使用mock模拟假数据,进行页面的开发;

使用mock的好处

使用mockjs模拟后端接口,可随机生成所需数据,模拟对数据的增删改查。

数据类型丰富,支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。

拦截Ajax请求不需要修改既有代码就可以拦截,返回模拟的响应数据。

怎么使用mock模拟数据

(首先你需要有一个模拟的接口地址url)

1. 确保你在项目中已经安装了axios和mock

npm install -S axios
npm install -D mockjs

2. 在项目的src文件夹下新建一个文件夹用来存放mock模拟的数据

一般我们放在将mock模拟的数据( /src/mock/index.js)这个文件中,这里以此为例。

//这里是我使用本地的服务器商品接口地址模拟的数据
//在 src/mock/index.js 这个文件中
 
import { mock } from 'mockjs'
let data = mock({
    "data|6": [ //生成6条数据 数组
        {
            "shopId|+1": 1,//生成商品id,自增1
            "shopMsg": "@ctitle(10)", //生成商品信息,长度为10个汉字
            "shopName": "@cname",//生成商品名 , 都是中国人的名字
            "shopTel": /^1(5|3|7|8)[0-9]{9}$/,//生成随机电话号
            "shopAddress": "@county(true)", //随机生成地址
            "shopStar|1-5": "★", //随机生成1-5个星星
            "salesVolume|30-1000": 30, //随机生成商品价格 在30-1000之间
            "shopLogo": "@Image('100x40','#c33', '#ffffff','小北鼻')", //生成随机图片,大小/背景色/字体颜色/文字信息
            "food|2": [ //每个商品中再随机生成2个food
                {
                    "foodName": "@cname", //food的名字
                    "foodPic": "@Image('100x40','#c33', '#ffffff','小可爱')",//生成随机图片,大小/背景色/字体颜色/文字信息
                    "foodPrice|1-100": 20,//生成1-100的随机数
                    "aname|2": [
                        { 
                            "aname": "@cname", 
                            "aprice|30-60": 20 
                        }
                    ]
                }
            ]
        }
    ]
})
mock(/goods\/list/, 'get', () => { //三个参数。第一个:请求路径,第二个:请求方式post/get,第三个:回调,返回值
    return data
})

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

//main.js
import "./mock/index.js"

4.在需要请求该接口模拟数据页面中,可以直接进行axios请求

(这里为了使大家可以看懂,就不封装axios了,直接使用axios对接口进行数据请求了)

<script setup>
import { onMounted } from "vue";
import axios from "axios"
 
function myrequest() {
  axios.get("http://localhost:8080/goods/list").then((res) => {
    console.log("这是我发送的请求");
    console.log(res)
  })
}
 
onMounted(() => {
  myrequest();
})
</script>
 
<template></template>
 
<style scoped></style>

5.打开控制台查看我们请求到的模拟数据 

注意事项:

  • 记得修改为你的接口地址;
  • 注意 你写的请求方式 与 你的接口文档要求的请求方式 是否保持一致;
  • 注意你模拟数据的请求接口是否打开,服务器是否启动;

我在本文中所使用的接口文档示例: 

引申:

常用的mock占位符 解释:

  • @cname 中文人名
  • @id 身份证id
  • @title 中文title
  • @city 中文城市
  • @ip ip 地址
  • @email email
  • @url url地址
  • @csentence(1,5) 生成1到5个字的中文句子
  • @cparagraph 生成中文段落
  • @string(11) 输出11 个字符长度的字符串
  • @float(0,10) 0 到 10 的浮点数
  • @integer(60,70) 60 到 70 之间的整数
  • @boolean boolean 类型 true,false

到此这篇关于Vue3中使用mock.js模拟数据的示例详解的文章就介绍到这了,更多相关Vue3 mock.js模拟数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue3中v-if和v-for优先级实例详解

    Vue3中v-if和v-for优先级实例详解

    Vue.js中使用最多的两个指令就是v-if和v-for,下面这篇文章主要给大家介绍了关于Vue3中v-if和v-for优先级的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • Vue项目打包后可修改基础接口地址配置的具体操作

    Vue项目打包后可修改基础接口地址配置的具体操作

    vue项目打包过后发现地址错了或者发布到别的服务器发现请求的地址不对,每次都要去重新打包,太浪费时间,下面这篇文章主要给大家介绍了关于Vue项目打包后可修改基础接口地址配置的具体操作,需要的朋友可以参考下
    2022-08-08
  • vue中组件的3种使用方式详解

    vue中组件的3种使用方式详解

    这篇文章主要给大家介绍了关于vue中组件的3种使用方式,文中通过示例代码介绍的非常详细,对大家学习或者使用vue具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • Vue.js如何监听window窗口尺寸变化

    Vue.js如何监听window窗口尺寸变化

    使用VUE开发后台项目,后台项目需要进行后台根据浏览器窗口进行变化,需要使用vue来监听浏览器的窗口变化,这篇文章主要给大家介绍了关于Vue.js如何监听window窗口尺寸变化的相关资料,需要的朋友可以参考下
    2023-11-11
  • vue项目配置国际化$t('')的介绍和用法示例

    vue项目配置国际化$t('')的介绍和用法示例

    这篇文章主要给大家介绍了关于vue项目配置国际化 $t('')的介绍和用法的相关资料,多语言和国际化现在已经成为一个网站或应用的必要功能之一,Vue作为一款流行的前端框架,在这方面也有着灵活的解决方案,需要的朋友可以参考下
    2023-09-09
  • Vue中大屏适配和局部适配的方案总结

    Vue中大屏适配和局部适配的方案总结

    这篇文章主要为大家详细介绍了如何通过Vue.js的Mixins功能结合JavaScript实现页面内容的自适应缩放,以适应不同比例的屏幕,需要的小伙伴可以参考下
    2025-03-03
  • Vue组件实现景深卡片轮播示例

    Vue组件实现景深卡片轮播示例

    这篇文章主要为大家介绍了Vue组件实现景深卡片轮播示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • vue监听滚动事件实现滚动监听

    vue监听滚动事件实现滚动监听

    本文主要介绍了vue监听滚动事件实现滚动监听的相关资料。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • vue3实现国际化的过程与遇到的问题详解

    vue3实现国际化的过程与遇到的问题详解

    像很多大型的网址,特别是跨国际等公司网页,访问来自世界各地用户,所以网页的国际化极其重要的需求,这篇文章主要给大家介绍了关于vue3实现国际化的过程与遇到的问题的相关资料,需要的朋友可以参考下
    2022-05-05
  • 详解vue+css3做交互特效的方法

    详解vue+css3做交互特效的方法

    本篇文章主要介绍了详解vue+css3做交互特效的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11

最新评论