Mock.js的基本使用

mock顾名思义,就是模拟的意思,它模拟什么呢?假设我们在开发的过程中,我们需要使用到接口,但是后端接口并没有完善,那么我们就可以使用到mock.js,它可以随机生成数据,拦截AJAX请求,让我为大家简单的介绍一下吧!

在vue脚手架下为大家演示

安装mockjs

javascript 复制代码
npm i mockjs

给大家看一个简单的演示

javascript 复制代码
import Mock from 'mockjs'
import axios from 'axios'
export default {
    created() {
        Mock.mock("/hello", {
            'list|5':[{
                // 重复2次
                'repeat|2':'abc',
                // 年龄18-50 随机
                'age|18-50':0,
                // 字符串 重复次数大于1 小于5 ''随机
                'string|1-5':'',
                // 属性值自增
                "id|+1":1
            }],
        });
        axios.get('/hello').then(res => {
            console.log(res);
        })
    }
}

大家看看是不是很方便

占位符@

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

1.用 @ 来标识其后的字符串是 占位符。

2.占位符 引用的是 Mock.Random 中的方法。

3.通过 Mock.Random.extend() 来扩展自定义占位符。

4.占位符 也可以引用 数据模板 中的属性。

5.占位符 会优先引用 数据模板 中的属性。

6.占位符 支持 相对路径 和 绝对路径。

拦截AJAX请求

其实就是加入了一个参数,请求方式

javascript 复制代码
import Mock from 'mockjs'
import axios from 'axios'
export default {
    created() {
        // 写get 就是拦截get请求的/hello 
        // 只会拦截相对应的请求 如果是post下的/hello 它不会拦截
        Mock.mock("/hello",'get', {
            'list|5':[{
                // 重复2次
                'repeat|2':'abc',
                // 年龄18-50 随机
                'age|18-50':0,
                // 字符串 重复次数大于1 小于5 ''随机
                'string|1-5':'',
                // 属性值自增
                "id|+1":1
            }],
        });
        // 假设 hello是一个正常的接口 有自己的数据 只要一被拦截
        // res 就会打印 mockjs中的数据
        axios.get('/hello').then(res => {
            console.log(res);
        })
    }
}

学无止境,加油少年!

相关推荐
weixin_4604435612 分钟前
2026年新修订《网络安全法》实施:Java私有化考试系统如何做好SBOM、漏洞治理与安全升级?
java·开发语言·在线考试系统·企业培训考试系统·宏远培训考试系统·国企培训考试系统·国产化培训系统
子兮曰1 小时前
把 649 种文件格式塞进一个网页里:一个「文件不出浏览器」的预览器
前端·javascript·后端
Cc.Y4 小时前
Java零基础入门:可变字符串与包装类:StringBuilder、StringBuffer 与 通讯录管理系统实战
java·开发语言·python
paopaokaka_luck4 小时前
基于springboot+vue的智慧家政管理系统(AI问答、 WebSocket实时沟通、ECharts运营分析、订单规则与服务追踪)
java·javascript·spring boot·数据分析·echarts·mybatis
阿森_dev4 小时前
2027 届毕设选题怎么选:30 个 Java 方向选题的实现难度排序
java·开发语言·spring boot·毕业设计·课程设计
by209994 小时前
C++ 多态:同一个基类接口,调用不同的函数
开发语言·c++·经验分享·多态
笔墨登场说说4 小时前
flink bin/start-cluster.sh 帮我做成开机启动
开发语言·python
Sarvartha4 小时前
Lambda 表达式和函数式接口
java·开发语言
小白学大数据4 小时前
拼多多反爬对抗实战:Scrapy 中间件化采集架构解析
开发语言·scrapy·中间件·架构
溪语流沙5 小时前
【每天一个CSS | Day19】流光文字与一笔写成的手写签名
前端·javascript·css