mockjs学习

news2024/9/27 15:20:23

1.前言

最近面试发现之前团队协同合作的项目没有mock数据难以向面试官直接展示,所以迟到得来速学一下mockjs。

参考视频:mockJs 妈妈再也不用担心我没有后端接口啦_哔哩哔哩_bilibili

一开始查阅了一些资料,先是看了下EasyMock,有点没搞懂是怎么用的

轻松模拟 (presstime.cn)

所以最后对比之下还是决定使用mockjs。

首先介绍一下mock数据的好处,除了前端可以在不依赖后端的情况下展示整个项目运行流程之外,还有很多其他好处。

官方给出的作用: 

直观来说就是

1.前后端并行开发 

2.前端独立运行


 Mockjs官方文档:Mock.js (mockjs.com)

2.安装配置

npm i mockjs

3.mock数据初体验

创建一个test.js文件

const { mock } = require("mockjs");

let data = mock({
  "data": "@cname()",
  "age": "@integer(1,100)",
  "addr": "@city(true)",
  "email": "@email(qq.com)",
})

console.log(data)

打开终端,运行node .\test.js命令


4.数据模板定义规范

每个属性组成部分:属性名 生成规则 属性值

”属性名|生成规则“:属性值

1️⃣七种生成规则

  1. 'name|min-max': value
  2. 'name|count': value
  3. 'name|min-max.dmin-dmax': value
  4. 'name|min-max.dcount': value
  5. 'name|count.dmin-dmax': value
  6. 'name|count.dcount': value
  7. 'name|+step': value
  • 属性名 和 生成规则 之间用竖线 | 分隔。

  • 生成规则 是可选的。

  • 生成规则 的 含义 需要依赖 属性值的类型 才能确定。

  • 属性值 中可以含有 @占位符

  • 属性值 还指定了最终值的初始值和类型。

具体示例可以看官方文档。Mock.js (mockjs.com)

2️⃣数据占位符

占位符 只是在属性值字符串中占个位置,并不出现在最终的属性值中。

@占位符
@占位符(参数 [, 参数])

占位符 引用的是 Mock.Random 中的方法,可以直接导进去。

ctrl+点击random可以查看具体实现方法


5. 拦截axios请求

拦截axios请求之后,实际响应的数据是mock里面的数据,mock拦截请求的原理加单理解就是把原生的XHR重写了,变成自己的。

所以在开启mock之后,被拦截的请求是没有真实发送出去的,在网络请求中是看不到的。

几种拦截写法

1️⃣完整匹配

2️⃣methos

3️⃣正则

4️⃣函数模式

5️⃣代理增删查改


6.在实际项目中使用

基本目录结构

mock相关文件

可以按照接口模块,分开定义对应的mock数据文件

注意填入正确的拦截路径。

main文件全局配置

只需要在main.js中引入mock文件夹的index文件就可以了

只需要注释掉main.js中对mockjs文件的导入,就可以使用真正的后端接口,开启就是使用mock地址。

还可以再灵活一点,把mock/index的入口变成函数,开启mock就调用做个函数,不开启就不调用。

成功拦截axios并返回mock数据!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1507131.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows安装ElasticSearch踩坑记

ElasticSearch是一个开源的分布式搜索和分析引擎。它提供实时分布式搜索功能,可以索引和搜索大量的结构化和非结构化数据。Elasticsearch以其速度、可伸缩性和处理复杂查询的能力而闻名。它常用于日志分析、全文搜索、文档搜索和数据分析等领域。使用ElasticSearch的…

AHU 算法分析 实验四 动态规划

实验四:动态规划 实验目的 • 理解动态规划的基本思想,理解动态规划算法的两个基本要素最 优子结构性质和子问题的重叠性质。 • 熟练掌握典型的动态规划问题。 • 掌握动态规划思想分析问题的一般方法,对较简单的问题能正确 分析&#x…

Day31:安全开发-JS应用WebPack打包器第三方库JQuery安装使用安全检测

目录 打包器-WebPack-使用&安全 第三方库-JQuery-使用&安全 思维导图 JS知识点: 功能:登录验证,文件操作,SQL操作,云应用接入,框架开发,打包器使用等 技术:原生开发&…

章六、集合(1)—— 概念、API、List 接口及实现类、集合迭代

零、 关闭IDEA调试时自动隐藏空元素 一、 集合的概念 存储一个班学员信息,假定一个班容纳20名学员 当我们需要保存一组一样(类型相同)的元素的时候,我们应该使用一个容器来存储,数组就是这样一个容器。 数组有什么缺…

简析内部审计数字化转型的方法和路径

简析内部审计数字化转型的方法和路径 内部审计是一种独立的、客观的确认和咨询活动,包括鉴证、识别和分析问题以及提供管理建议和解决方案。狭义的数字化转型是指将企业经营管理和业务操作的各种行为、状态和结果用数字的形式来记录和存储,据此再对数据…

基于纳什谈判理论的风–光–氢多主体能源系统合作运行方法(含matlab代码)

目录 主要内容 部分代码 结果一览 下载链接 主要内容 程序解决的是一个基于合作博弈的风光氢能源交易的问题,首先,考虑主体间的电能交易建立各主体的优化运行模型, 然后基于纳什谈判理论建立风–光–氢多主体合作运行模型&…

Springboot+vue的高校危化试剂仓储系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频: Springbootvue的高校危化试剂仓储系统(有报告)。Javaee项目,springboot vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller&#x…

(003)SlickEdit Unity的补全

文章目录 步骤XML知识点 附录 步骤 1.下载 unity 源码。 2.将自定义文件 MonoBehaviour.cs 放到解压后的项目里面: using System;namespace UnityEngine {public partial class MonoBehaviour{public virtual void Awake(){throw new NotImplementedException();…

Axure原型设计项目效果 全国职业院校技能大赛物联网应用开发赛项项目原型设计题目

目录 前言 一、2022年任务书3效果图 二、2022年任务书5效果图 三、2022年国赛正式赛卷 四、2023年国赛第一套样题 五、2023年国赛第二套样题 六、2023年国赛第三套样题 七、2023年国赛第四套样题 八、2023年国赛第七套样题 九、2023年国赛正式赛题(第八套…

flink重温笔记(十四): flink 高级特性和新特性(3)——数据类型及 Avro 序列化

Flink学习笔记 前言:今天是学习 flink 的第 14 天啦!学习了 flink 高级特性和新特性之数据类型及 avro 序列化,主要是解决大数据领域数据规范化写入和规范化读取的问题,avro 数据结构可以节约存储空间,本文中结合企业真…

RabbitMQ - 06 - Topic交换机

目录 控制台创建队列与交换机 编写消费者方法 编写生产者测试方法 结果 Topic交换机与Direct交换机基本一致 可参考 这篇帖子 http://t.csdnimg.cn/AuvoK topic交换机与Direct交换机的区别是 Topic交换机接收的消息RoutingKey必须是多个单词,以 . 分割 Topic交…

练习01-登录注册(简单)

一、用户登录/注册实现 综合前面学的知识来实现简单的注册登录功能 1.准备工作 注册登录页面 数据库,数据表 mybatis 坐标引入,MySQL驱动 配置 映射文件 用户实体类 Servlet代码 2.页面 不想手写的可以看博主IT黄大大【带源码】 【炫酷登录界…

贝叶斯优化CNN-GRU回归预测(matlab代码)

贝叶斯优化CNN-GRU回归预测matlab代码 贝叶斯优化方法则采用贝叶斯思想,通过不断探索各种参数组合的结果,根据已有信息计算期望值,并选择期望值最大的组合作为最佳策略,从而在尽可能少的实验次数下达到最优解。 数据为Excel股票…

PostgreSQL数据优化——死元组清理

最近遇到一个奇怪的问题,一个百万级的PostgreSQL表,只有3个索引。但是每次执行insert或update语句就要几百ms以上。经过查询发现是一个狠简单的问题,数据库表死元组太多了,需要手动清理。 在 PG 中,update/delete 语句…

每日五道java面试题之springMVC篇(二)

目录: 第一题. 请描述Spring MVC的工作流程?描述一下 DispatcherServlet 的工作流程?第二题. MVC是什么?MVC设计模式的好处有哪些?第三题. 注解原理是什么?第四题. Spring MVC常用的注解有哪些?第五题. SpingMvc中的…

【数据结构初阶 9】内排序

文章目录 🌈 1. 直接插入排序🌈 2. 希尔排序🌈 3. 简单选择排序🌈 4. 堆排序🌈 5. 冒泡排序🌈 6. 快速排序6.1 霍尔版快排6.2 挖坑版快排6.3 双指针快排6.4 非递归快排 🌈 7. 归并排序7.1 递归版…

用户管理【MySQL】

文章目录 查看用户信息创建用户修改密码删除用户授予权限收回权限 查看用户信息 在名为mysql的数据库中有一个表user维护着 MySQL 的用户信息。 其中: user: 表示该用户的用户名。host: 表示该用户可以从哪个主机登录,localhost…

了解飞行时间传感

简介:测距技术 人类和许多动物利用各种感官来测量与其他物体的距离。视觉是最常用的。在晚上,触觉可以用来感受其他物体的存在——当然触觉对于视障人

读算法的陷阱:超级平台、算法垄断与场景欺骗笔记06_共谋(下)

1. 博弈论 1.1. 当市场竞争对手之间普遍存在着误解和不信任情绪时,从长远来看,他们一半时间是在合作,另一半时间则是在背叛承诺 1.2. 当一方越了解对手,或者说可以更好地掌握对方的战略性行为时,他才可能找到展开合作…

b树(一篇文章带你 理解 )

目录 一、引言 二、B树的基本定义 三、B树的性质与操作 1 查找操作 2 插入操作 3 删除操作 四、B树的应用场景 1 数据库索引 2 文件系统 3 网络路由表 五、哪些数据库系统不使用B树进行索引 1 列式数据库 2 图形数据库 3 内存数据库 4 NoSQL数据库 5 分布式数据…