网站首页 > 技术文章 正文
官方资料
官网: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
猜你喜欢
- 2025-06-28 代码小白的网页制作神器(如何用代码制作网页)
- 2025-06-28 java版gRPC实战之三:服务端流(java 服务端)
- 2025-06-28 Cursor 开发完N个大型项目后的硬核经验
- 2025-06-28 领导说:“做个设计评审吧”(设计开发的五个阶段的评审内容)
- 2025-06-28 使用Swager API Docs和easy-mock生成模拟数据
- 2025-06-28 强大的mock数据生成工具--apipost
- 2025-06-28 Mock.js 实用教程:快速上手模拟数据生成
- 2025-06-28 五分钟教你用NodeJS手写一个Mock数据服务器
- 2024-10-06 想要mock你的网络请求?还不快来学习Charles
- 2024-10-06 测试工具链—— AnyProxy搭建HTTP(S)代理服务器构建Mock服务(一)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)