因为Vue3项目开发中需要用到Mock数据,所以这里记录一种快速Mock数据的方法。

一、安装

首先,你需要安装 axiosaxios-mock-adapter

npm install axios axios-mock-adapter --save

二、编写mock数据

为了保证项目的整洁,我们在项目根目录下的src目录下新建一个名为mock的文件夹。然后依次进行如下步骤:

(1)在mock文件夹下新建index.js文件,文件内容如下:

import MockAdapter from 'axios-mock-adapter'
import axios from 'axios' // 创建一个 MockAdapter 实例
let mock = new MockAdapter(axios) const initMock = () => {
// mock模拟一个get方法的响应数据
mock.onGet('/users').reply(200, { // 200 为状态码,后面对象为返回data
users: [
{ id: 1, name: '李华' }
]
})
// mock模拟一个post方法的响应数据
mock.onPost('/foo').reply(200, { // 200 为状态码,后面对象为返回data
msg: 'success',
desc: "恭喜,请求成功!"
}) // 模拟一个带参数请求的响应
mock.onGet("/search", { params: { searchText: "张" } }).reply(200, {
users: [{ id: 1, name: "张小花" }],
}); // 模拟一个错误响应
mock.onPut('/api/users/1').networkError(); } // 导出
export default initMock

(2)在main.js中引入使用,在main.js中加入如下代码:

// 导入mock数据
import initMock from './mock/index';
// 初始化mock数据函数方法
initMock()

三、使用mock数据

以下是使用mock数据的方法的vue页面代码,Mock.vue示例页面:

<template>
<div>
<div><b>axios-mock-adapter</b>数据模拟js库,请注意浏览器控制台输出</div> <button @click="funGetTest">get请求测试</button>
<button @click="funParamsTest">get带参数请求测试</button>
<button @click="funPostTest">post请求测试</button>
<button @click="funPutTest">put请求测试(错误响应示例)</button>
</div>
</template> <script setup>
//引入axios
import axios from 'axios'; const funGetTest = () => {
axios.get("/users").then((res) => {
console.log("GET请求结果:", res);
});
} const funParamsTest = () => {
axios.get("/search", {
params: { searchText: "张" }
}).then(res => {
console.log("GET带参数请求结果:", res);
});
} const funPostTest = () => {
axios.post("/foo").then(res => {
console.log("POST请求结果:", res);
});
} const funPutTest = () => {
axios.put("/api/users/1").then(res => {
console.log("PUT请求结果:", res);
});
} </script> <style scoped>
button {
border: 1px solid #000;
padding: 10px;
margin: 10px;
cursor: pointer;
} button:hover {
background-color: #3496eb;
color: #ffffff;
}
</style>

上述方法示例展示了如何使用 axios-mock-adapter 来模拟不同的 HTTP 请求和响应,让你能够测试你的应用在各种情况下的行为,而不需要实际发送网络请求。

Vue3中Mock数据的简单方案的更多相关文章

  1. 你我都会遇到的需求:如何导出MySQL中的数据~ 简单!实用!

    目录 你我都有的需求 方式一:tee 方式二:mysql_use_result 推荐阅读 一.给研发同学看的面试指南 二.MySQL-视频 三.进阶MySQL中间件-视频 四.白日梦的云原生-笔记 五 ...

  2. 2、 Spark Streaming方式从socket中获取数据进行简单单词统计

    Spark 1.5.2 Spark Streaming 学习笔记和编程练习 Overview 概述 Spark Streaming is an extension of the core Spark ...

  3. 在vue项目中mock数据

    第一步:安装: 在命令行中执行: npm install mockjs; 第二步:定义index.js文件 我们新建一个mock文件夹,此文件夹中建一个index.js文件:在index.js中输入以 ...

  4. IOS中的数据存储 简单总结

      1.  NSKeyedArchiver(加密形式)   2.  plist   3.  NSUserDefaults   4.  writeToFile    5.  SQLite3 ==== N ...

  5. 在vue项目中, mock数据

    1. 在根目录下创建 test 目录, 用来存放模拟的 json 数据, 在 test 目录下创建模拟的数据 data.json 文件 2.在build目录下的 dev-server.js的文件作如下 ...

  6. vue3中reactive数据被重新赋值后无法双向绑定,使用reactive包裹数组如何正确赋值?

    需求:将接口请求到的列表数据赋值给响应数据arr const arr = reactive([]); const load = () => { const res = [2, 3, 4, 5]; ...

  7. 深入浅出的webpack4构建工具---比mock模拟数据更简单的方式(二十一)

    如果想要了解mock模拟数据的话,请看这篇文章(https://www.cnblogs.com/tugenhua0707/p/9813122.html) 在实际应用场景中,总感觉mock数据比较麻烦, ...

  8. vue-cli项目中怎么mock数据

    在vue项目中, mock数据可以使用 node 的 express模块搭建服务 1. 在根目录下创建 test 目录, 用来存放模拟的 json 数据, 在 test 目录下创建模拟的数据 data ...

  9. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作(二)

    CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...

  10. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作

    http://www.cnblogs.com/wgp13x/p/4934521.html 内容一样,样式好的版本. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据 ...

随机推荐

  1. arco-design-pro-vite项目配置参考

    参考地址 配置源码地址:https://github.com/arco-design/arco-design-pro-vue/blob/main/arco-design-pro-vite/ 按钮组件 ...

  2. 探秘Transformer系列之(14)--- 残差网络和归一化

    探秘Transformer系列之(14)--- 残差网络和归一化 目录 探秘Transformer系列之(14)--- 残差网络和归一化 0x00 概述 0x01 残差连接 1.1 问题 1.2 相关 ...

  3. mysql order by 中文排序

    前言 在 MySQL 中,我们经常会对一个字段进行排序查询,但进行中文排序和查找的时候,对汉字的排序和查找结果往往都是错误的. 这种情况在 MySQL 的很多版本中都存在. 如果这个问题不解决,那么 ...

  4. linux mongodb安装

    更新依赖包 安装前我们需要安装各个 Linux 平台依赖包. Red Hat/CentOS: sudo yum install libcurl openssl Ubuntu 18.04 LTS (&q ...

  5. 还原大师-遍历残缺字符串匹配md5杂凑值

    题目: 我们得到了一串神秘字符串:TASC?O3RJMV?WDJKX?ZM,问号部分是未知大写字母, 为了确定这个神秘字符串,我们通过了其他途径获得了这个字串的32位MD5码. 但是我们获得它的32位 ...

  6. docker swarm CA证书到期

    1.现象 在portain平台查看日志,发现一些节点日志无法查看报错为:Error grabbing logs: rpc error: code = Unknown desc = warning: i ...

  7. 全国省市区基础数据SQL插入脚本

    整理了一份全国省市区SQL插入脚本,并配上抓取数据读取插入数据库源码,附件下载地址:https://files.cnblogs.com/files/101Love/Region.rar

  8. WgelCTF打靶笔记(2)

    参考视频:https://www.bilibili.com/video/BV1itwgeHEEk/?spm_id_from=333.1387.upload.video_card.click&v ...

  9. 房价预测数据清洗全流程:从数据采集到可视化分析(Python实战)

    在房价预测项目中,数据清洗是至关重要的环节.它不仅决定了模型的准确性,还直接影响后续分析的可靠性.本文将以波士顿房价数据集为例,通过Python的Pandas.Matplotlib等工具,详细讲解数据 ...

  10. 阿里云域名+Github配置Pages

    最近用Flutter开发了一个新的应用,准备上架AppStore的时候遇到一个问题,就是通过什么途经能把自己的隐私html和官网html通过链接都显示出来呢? 经过一番的查找和研究后就准备用Githu ...