Mock.js基本使用

一 简介

项目中后端的接口往往是较晚才会出来,并且还要写接口文档,于是我们的前端的许多开发都要等到接口给我们才能进行开发。为了方便前端代码自测,提高开发效率,可以使用mock.js模拟生成数据进行前后端数据联调

原理:拦截了所有的请求并代理到本地模拟数据,所以 network 中没有发出任何的请求。因为只是模拟数据进行测试,就不必频繁发请求给服务器造成压力

所有的 mock 数据都在 @/src/mock 目录下,它只会拦截 @/src/mock/index.js 文件中拦截的 url。
移除只需要在 @/src/main.js 中移除 import ‘./mock’ 并且删除 @/src/mock 文件夹即可。

二 参考网站

官网:http://mockjs.com
github:https://github.com/nuysoft/Mock/wiki **很详细的mock.js相关知识介绍

三 语法规范
数据模板定义规范(Data Template Definition,DTD)
数据占位符定义规范(Data Placeholder Definition,DPD)

1 数据模板定义规范 DTD
数据模板中的每个属性由 3 部分构成:属性名、生成规则、属性值–> ‘name|rule’: value
注意:
属性名 和 生成规则 之间用竖线 | 分隔。
a. 生成规则 是可选的。
b. 生成规则 有 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
c. 生成规则 的 含义 需要依赖 属性值的类型 才能确定。
d. 属性值 中可以含有 @占位符。
e. 属性值 还指定了最终值的初始值和类型。

  1. 数据占位符定义规范 DPD
    a. 用 @ 来标识其后的字符串是 占位符。
    b. 占位符 引用的是 Mock.Random 中的方法。
    c. 通过 Mock.Random.extend()
    d. 来扩展自定义占位符。
    e. 占位符 也可以引用 数据模板 中的属性。
    f. 占位符 会优先引用 数据模板 中的属性。
    g. 占位符 支持 相对路径 和绝对路径。

vue中使用mock需要先npm安装mock,再引入到main.js中,不然接口会报404
Vue引入mock参考:https://www.cnblogs.com/vae860514/p/8405294.html

三 简单例子

  1. npm install mockjs
  2. 在文件夹根目录下中创建mock的目录,里面放你要写的mock.js
    在这里插入图片描述
    3.在根目录中的js中引入
    在这里插入图片描述
    4.在mockjs中定义mock数据模板和生成模拟数据

1.mock.js中的数据模板方式:(‘name|rule’: value)–>分别对应: ‘属性名 |生成规则‘ : 属性值
2. Mock.mock( rurl?, rtype?, template|function( options ) ) 根据数据模板生成模拟数据

在这里插入图片描述

5.在根目录下创建api文件夹,新建js调接口。我这用的是axios调的,也可以用别的
在这里插入图片描述
6.最后就可以使用了,在其他vue文件中引入这个js用api中js配置的名字调接口了
在这里插入图片描述
四 另外一个例子(其实和上面例子一样只是多写了一个接口,可以不看第三个直接看这个)

  1. 还是一样,在根目录下的mock文件夹中新建你的mockjs文件,可以把同一个模块的模拟接口和数据全部写在同一个文件中,但是我这里是分了两个文件分别写的
    在这里插入图片描述
  2. 把第一步的mockjs引入到mock文件夹的index.js中
    在这里插入图片描述
    3.在api中配置好刚模拟的接口信息
    在这里插入图片描述
    4.在自己测试的界面文件中,引入刚刚api中配置的接口进行调用,可以使用你之前配置的模拟数据了
    在这里插入图片描述
    在这里插入图片描述
    5.界面有显示数据就可以了
    在这里插入图片描述
  • 17
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Mock.js 是一个用于生成随机数据的 JavaScript 库,可以用于前后端分离开发中模拟接口数据,方便前端开发调试。 Mock.js基本使用步骤如下: 1. 安装 Mock.js 库 可以通过 npm 安装 Mock.js,命令如下: ``` npm install mockjs --save-dev ``` 2. 编写模拟数据 在前端开发中,通常需要模拟后端接口的返回数据。使用 Mock.js 可以很方便地生成模拟数据。 示例代码: ```javascript import Mock from 'mockjs' // 模拟一个接口返回数据 Mock.mock('/api/user', { 'name': '@name', // 随机生成一个中文名字 'age|1-100': 100, // 随机生成一个 1-100 之间的数字 'gender|1': ['男', '女'], // 随机生成一个性别 'email': '@EMAIL', // 随机生成一个邮箱 'phone': /^1[3456789]\d{9}$/ // 随机生成一个手机号 }) ``` 3. 拦截 Ajax 请求 Mock.js 可以拦截 Ajax 请求,根据请求的 URL 和请求方法返回模拟数据。 示例代码: ```javascript import Mock from 'mockjs' // 模拟一个接口返回数据 Mock.mock('/api/user', { 'name': '@name', 'age|1-100': 100, 'gender|1': ['男', '女'], 'email': '@EMAIL', 'phone': /^1[3456789]\d{9}$/ }) // 拦截 Ajax 请求 Mock.mock('/api/user', 'get', { code: 200, message: 'OK', data: Mock.mock('@user') }) ``` 4. 使用模拟数据 在前端开发中,可以通过 Ajax 请求获取模拟数据,在页面上展示模拟数据。 示例代码: ```javascript import axios from 'axios' axios.get('/api/user') .then(res => { console.log(res.data) }) .catch(err => { console.error(err) }) ``` 以上是 Mock.js基本使用方法,还有更多高级用法,可以参考官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值