网站首页 > 技术文章 正文
官方资料
官网:http://mockjs.com/
代码:https://github.com/nuysoft/Mock/tree/refactoring
文档:https://github.com/nuysoft/Mock/wiki
为什么使用Mock.js
Mock.js 是用于生成随机数据的,拦截 Ajax 请求。通过拦截 Ajax 请求,根据数据模板生成并返回模拟数据,让前端工程师独立于后端进行开发。
Mock.js 原理
重写了XMLHttpRequest,属于前端JS拦截,浏览器并没有发出请求,Mock.js实现拦截,是模拟了XMLHttpRequest对象。重写open、send等方法,方法调用时,只是普通函数的调用,不会发送真正的请求。ajax请求发生时,请求根本没有发出,只是调用了几个自己写的普通函数,得到了返回数据而已。
不存在跨域问题,因为运行在浏览器上,浏览器并没有发出请求,不会违背浏览器的跨域策略,跨域指的是浏览器不能执行其他网站的脚本,它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。
正式版本请删除Mock.js。
Mock.js使用
首先安装
npm install mockjs --save / yarn add mockjs --save
使用mockjs模拟数据并开发接口
//新建一个mockApi.js模块 来保存我们模拟的接口
var Mock = require('mockjs') // 导入mockjs
// 模拟一个列表数据
var arr = Mock.mock({
"list|4-10": [ // 生成一个 length是 4~10之间的数组
{
"name": "@first", // @first用来生成名字
"age|12-50": 12, // 生成一个 12-50之间的整数
"id|+1": 1 // 生成的id每次递增1
}
]
})
// 获取列表数据的接口 第一个参数表示自定义的接口地址 第二个参数表示自定义的请求方法
// 第三个参数是回调函数,定义返回的数据
Mock.mock('http://www.aaa.com', 'get', () => {
return arr
})
导入接口
//在main.js中导入定义好的mockApi模块
require('mockApi文件的地址')
使用定义好的接口
//在任意vue文件中 当然axios如果自己已经定义 请使用自己的 这里只做演示用
import axios from 'axios'
export default {
created() {
axios.get('http://www.aaa.com').then(res => {
// 这里的res就是mock模拟的接口返回的数据
})
}
}
参考链接:
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest
https://blog.csdn.net/qq_40409143/article/details/115289315
https://blog.csdn.net/weixin_44427998/article/details/115541145
猜你喜欢
- 2024-10-06 想要mock你的网络请求?还不快来学习Charles
- 2024-10-06 测试工具链—— AnyProxy搭建HTTP(S)代理服务器构建Mock服务(一)
- 2024-10-06 Mock工具wiremock-py mock工具类静态方法返回值
- 2024-10-06 当 Swagger 遇上 Torna,瞬间高大上了
- 2024-10-06 Mockjs POST和GET不同参数返回不同结果的实现方法
- 2024-10-06 mock介绍及moco框架搭建使用 mockoa
- 2024-10-06 对于依赖第三方的接口如何进行测试?
- 2024-10-06 本地部署easy-mock 本地部署sd的最低配置要求
- 2024-10-06 利用 apipost 生成mock数据 怎么生成api接口
- 2024-10-06 Mock工具之Moco使用教程 mock新手教程
你 发表评论:
欢迎- 501℃几个Oracle空值处理函数 oracle处理null值的函数
- 497℃Oracle分析函数之Lag和Lead()使用
- 495℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 482℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 478℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 468℃【数据统计分析】详解Oracle分组函数之CUBE
- 454℃Oracle有哪些常见的函数? oracle中常用的函数
- 450℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 最近发表
-
- Directus 火了!无代码 SQL 数据的协作应用利器!
- PHP和NodeJS的代码执行效率比较(php和nodejs的区别)
- 工商银行获得发明专利授权:“基于数据库映射动态接口的前端页面应用开发方法及装置”
- FAISS和Chroma:两种流行的向量数据库的比较
- 什么是数据库的索引?(数据库索引的定义和作用)
- Vercel和Neon“首次”推出用于前端云的无服务器SQL数据库
- 记一次前端逻辑绕过登录到内网挖掘
- 学Access好还是MySQL好?(access与mysql的语句区别)
- 惬意!清晨慢品 HTML canvas 标签题,面试知识轻松 get
- 前端实现知识图谱-force(d3.js)(前端知识树)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)