前端数据模拟 Mock.js 学习笔记

mock.js介绍

Mock.js是一款前端开发中拦截Ajax请求再生成随机数据响应的工具,可以用来模拟服务器响应

  • 优点是:
  • 非常方便简单,无侵入性,基本覆盖常用的接口数据类型
  • 支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等
  • 缺点是:
  • 不支持文件
  • 不是异步的

安装的话直接用npm install mockjs这条命令行即可

mockjs可以模拟前端请求后端返回数据的过程,那么在前端开发过程中,我们就不需要等待后端写好接口就能写关于axios的代码来请求数据,当后端开发好后直接移除mockjs即可不需要修改过多的代码,对于前端开发来说是非常方便的

核心方法

Mock.mock(rurl?, rtype?, template|function(options))

  • rurl:表示需要拦截的URL,可以是URL字符串或URL正则
  • rtype:表示要拦截的Ajax请求类型,例如get、post、put请求等
  • template:表示数据模板,可以是对象或者是字符串
  • function:表示用于生成响应式数据的函数

同时mock也可以设置延时请求到数据:Mock.setup({ timeout : 400}),其中400是表示延迟400毫秒,如果400被'200-600'替代了,那么意思就是延迟200毫秒到600毫秒请求数据

数据生成规则

mock的语法规范包含两层规范:数据模板(DTD),数据占位符(DPD)

数据模板中的每个属性由三部分构成:属性名name、生成规则rule、属性值value

'name|rule' : value

属性名和生成规则之间用竖线 | 分割,生成规则是可选的,有7种格式:

'name|min-max' : value

'name|count' : value

'name|min-max.dmin-dmax' : value

'name|min-max.dcount : value

'name|count.dmin-dmax' : value

'name|count.dcount ' : value

'name|+step' : value

当然还有更多的写法来规定数据生成,具体可以找ai写或者看官方文档写就好了

基本使用

在项目src目录下创建mock目录,新建index.js文件

然后在index.js文件中写入需要模拟生成的数据即可

示例:

最后,我们++需要在main.js里面引入我们写好的mock目录下的js文件++,因为前面定义mock目录下js文件名字为index.js,所以会自动导入index.js,不需要写成 import './mock/index' 这样

然后在需要请求数据的组件中调用mock.js中模拟的数据接口,这时返回的response就是mock.js中用Mock.mock('url' ,data)中设置的data

注意:如果你还没有开发后端接口,axios 请求的接口路径就是你在 Mock.js 中定义的路径。Mock.js 会拦截这些请求并返回模拟数据

参考

14.前端数据模拟MockJS_哔哩哔哩_bilibili

Mock.js 超全 超详细总结 保姆级别的教程_mockjs-CSDN博客

相关推荐
双向3319 分钟前
RAG的下一站:检索增强生成如何重塑企业知识中枢?
前端
拖拉斯旋风21 分钟前
从零开始:使用 Ollama 在本地部署开源大模型并集成到 React 应用
前端·javascript·ollama
asing29 分钟前
🤯 为什么我的收银台在鸿蒙系统“第一次返回”死活拦不住?一次差点背锅的排查实录
前端·harmonyos
德育处主任30 分钟前
『NAS』在群晖部署图片压缩工具-Squoosh
前端·javascript·docker
Hao_Harrision32 分钟前
50天50个小项目 (React19 + Tailwindcss V4) ✨| ThreeDBackgroundBoxes(3D背景盒子组件)
前端·3d·typescript·react·tailwindcss·vite7
加个鸡腿儿35 分钟前
经验分享2:SSR 项目中响应式组件的闪动陷阱与修复实践
前端·css·架构
心.c1 小时前
如何基于 RAG 技术,搭建一个专属的智能 Agent 平台
开发语言·前端·vue.js
智航GIS1 小时前
10.7 pyspider 库入门
开发语言·前端·python
华仔啊1 小时前
写 CSS 用 px?这 3 个单位能让页面自动适配屏幕
前端·css
Van_captain2 小时前
rn_for_openharmony常用组件_Breadcrumb面包屑
javascript·开源·harmonyos