Mockjs - 前端模拟请求数据生成器

Mockjs是一款用于前端开发的数据模拟工具,它可以帮助开发者在没有后端支持的情况下进行独立开发和单元测试。本文介绍了Mockjs的安装、简单使用方法,包括创建模拟服务、发送和取消拦截请求,以及详细的语法规范,如数据模板定义和数据占位符定义。此外,还讲解了Mock.mock API的使用和不同类型的生成规则,如String、Number、Boolean、Object、Array、Function和RegExp。
摘要由CSDN通过智能技术生成

mockjs

Mock.js 是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试。提供了以下模拟功能:

  • 根据数据模板生成模拟数据
  • 模拟 Ajax 请求,生成并返回模拟数据
  • 基于 HTML 模板生成模拟数据

中文网

github

安装

npm install mockjs --save--dev

一般是开发时依赖 。

简单使用

这里我使用 vue 来演示

1.创建模拟服务

根目录下创建一个 mock 文件夹 。同一存放 Mock 相关文件

// mock/mock.js

// 引入 mockjs
import Mock from 'mockjs'

// 简单的使用 mockjs 模拟数据
// 调用 mock 方法
Mock.mock('/getInfo',{
     // 拦截 路由为 /getInfo 的请求。
    data:{
   
        name:"@cname",  // 生成数据中文名字
        id:"@id"       // 生成随机 ID
    }
})

// mock 方法调用后会生成一次数据并且返回,此数据是不会变的 。但每次请求都会生成新数据。

2. 使用

// 在 main.js 里执行
import '../mock/index'

new Vue({
   
  render: h => h(App),
}).$mount('#app')

发送请求

<template>
  <div><button @click="send">请求</button></div>
</template>

<script>
    // 使用 aixos 方法请求
import axios from "axios";
export default {
  methods: {
    send() {
      axios
        .get("/getInfo")
        .then((e) => {
          console.log(e);
        })
        .catch((err) => {
          console.log(err);
        });
    },
  },
};
</script>

结果

取消拦截

只需要把 main.js 里的引入的 mock.js 文件部分注释即可

// import '../mock/index'

mock 文件夹可以不删 ,因为可能还有需要 。而打包上传时是不会把它打包上去的 ,因为没有引入。

语法规范

Mock.js 的语法规范包括两部分:

  1. 数据模板定义规范(Data Template Definition,DTD)
  2. 数据占位符定义规范(Data Placeholder Definition,DPD)

数据模板定义规范

也就是对数据的类型 ,范围等进行规范,限制。

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

格式是:

’ 属性名|生成规则 ':属性值

注意属性名和生成规则之间通过 | 分隔

如 :

'num|0-100'0

// 返回一个 num 属性 ,值是一个数值 ,数值范围是 0-100 .
生成规则

注意:

  • 属性名生成规则 之间用竖线 | 分隔。
  • 生成规则 是可选的。
  • 生成规则有 7 种格式:
    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. '
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无糖的酸奶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值