因为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. nnUNet 使用方法

    首先明确分割任务. 其次明确研究方法和步骤. 再做好前期准备,如数据集的采集.标注以及其中的训练集/测试集划分. 其中的参考链接: (四:2020.07.28)nnUNet最舒服的训练教程(让我的奶奶 ...

  2. DBeaver 连接 mysql 报错:Public Key Retrieval is not allowed

    前言 DBeaver 连接 mysql 报错:Public Key Retrieval is not allowed 遇到 "Public Key Retrieval is not allo ...

  3. go 判断数组下标是否存在

    举例 现在需要判断命令行是否传了参数,即 os.Args[1] 是否存在 如果使用下述的判断: func main() { fmt.Println(os.Args[1]) } 会报错:index ou ...

  4. Git 命令使用体验的神器 -- tig

    tig, 就是把 Git 这个单词倒过来念, 它是一个命令行工具, 日常使用中我用它来取代 Git 最高频的几个操作, 如 git log, git diff 以及 git blame等, 使用常见安 ...

  5. 文件批量重命名神器:Bulk Rename Utility

    内容摘要: 你还在手动给文件重命名吗?介绍一款免费而强大的批量重命名神器:Bulk Rename Utility,它将满足你对批量改名的所有期待.让它将你从痛苦的重命名工作中解放吧! 软件获取地址 云 ...

  6. MySQL中怎么分析性能?

    MySQL中主要有4种方式可以分析数据库性能,分别是慢查询日志,profile,Com_xxx和explain. 慢查询日志 先用下面命令查询慢查询日志是否开启, show variables lik ...

  7. .NET & JSON

    C# & JSON DataContractJsonSerializer // JsonHelper.cs using System; using System.Collections.Gen ...

  8. SQL语句(一)—— DDL

    SQL 全称 Structured Query Language,结构化查询语言.操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准 . 一.SQL 基础知识 (一)SQL 通用语法 在学 ...

  9. 等待元素加载出来后再执行下一步的方法(execute javascript指令的用法)

    上图,会员修改参数后,提示修改成功,弹出层会暂时冻结页面,导致"会员"菜单不可点击 除了使用sleep加等待时间的方法解决,本教程用"execute javascript ...

  10. 康谋分享 | 数据隐私和匿名化:PIPL与GDPR下,如何确保数据合规?(二)

    在上期数据隐私和匿名化系列文章中,我们主要分享了<中国个人信息保护法>(PIPL)和<欧盟通用数据保护条例>(GDPR)在涵盖范围.定义.敏感信息等方面的异同点,今天,我们将重 ...