Vue学习日记(五)

本文介绍了Mock.js和EasyMock的使用,它们主要用于生成随机数据和模拟Ajax请求,帮助前端开发者在后端未完成时进行独立开发和单元测试。通过数据模板定义和数据占位符,可以自定义复杂的数据结构,如字符串、数字、布尔值、对象、数组等。同时,Mock.Random工具类提供了多种占位符生成各种类型的随机数据,包括日期、文本、名字、网址等,大大简化了测试数据的创建过程。
摘要由CSDN通过智能技术生成

Mock.js+EasyMock

Mock.js 是用于生成随机数据,拦截 Ajax 请求。
通过拦截 Ajax 请求,根据数据模板生成并返回模拟数据,让前端攻城师独立于后端进行开发,帮助编写单元测试。

一、安装:
1.新建文件夹mockjs
进行初始化 npm init -y
2.mock.js安装
npm install mockjs
3.创建的demo01.js

const Mock = require('mockjs')
const data = Mock.mock({
    'memberList|2': [
        {
            'id': 1,
            'name': '张三'
        }]
})// stringify(数据, 数据转换函数,缩进空格数)
console.log(JSON.stringify(data, null, 2))
 //查看效果,执行命令 node demo1.js

4.执行命令
node demo1.js

二、数据模板定义

// '属性名|生成规则': 属性值 
'name|rule': value

2.1 属性值是字符串 String

  1. ‘name|count’: string
    通过重复 string 生成一个字符串,重复次数等于 count 。
  2. ‘name|min-max’: string
    通过重复 string 生成一个字符串,重复次数大于等于 min ,小于等于 max 。

.2.2 数字 Number

  1. ‘name|+1’: number
    属性值自动加 1,初始值为 number 。
  2. ‘name|min-max’: number
    生成一个大于等于 min 、小于等于 max 的整数,属性值 number 只是用来确定类型。
  3. ‘name|min-max.dmin-dmax’: number
    生成一个浮点数,整数部分大于等于 min 、小于等于 max ,小数部分保留 dmin 到 dmax 位。

2.3 布尔型 Boolean

  1. ‘name|1’: boolean
    随机生成一个布尔值,值为 true 的概率是 1/2,值为 false 的概率同样是 1/2。
  2. ‘name|min-max’: value
    随机生成一个布尔值,值为 value 的概率是 min / (min + max) ,值为 !value 的概率是 max / (min + max) 。

2.4 对象 Object

  1. ‘name|count’: object
    从属性值 object 中随机选取 count 个属性。
  2. ‘name|min-max’: object
    从属性值 object 中随机选取 min 到 max 个属性。

2.5 数组 Array

  1. ‘name|min-max’: array
    通过重复属性值 array 生成一个新数组,重复次数大于等于 min ,小于等于 max 。
  2. ‘name|count’: array
    通过重复属性值 array 生成一个新数组,重复次数为 count 。

2.6 正则表达式 RegExp

  1. ‘name’: regexp
    根据正则表达式 regexp 反向生成可以匹配它的字符串。用于生成自定义格式的字符串。
    注意 regexp 是没有引号的

三、 数据占位符定义规范 DPD
Mock.Random 是一个工具类,用于生成各种随机数据。
Mock.Random 类中的方法在数据模板中称为『占位符』
书写格式为 @占位符(参数 [, 参数]) 。

'属性名': @占位符
Type(类型)Method(占位符)
Basicboolean , natural (自然数,大于等于 0 的整数), integer , float , character , string , range (整型数组),
Datedate (年月日), time (时分秒), datetime (年月日时分秒)
Imageimage, dataImage
Colorcolor
Textparagraph, sentence, word, title, cparagraph, csentence, cword, ctitle
Namefirst, last, name, cfirst, clast, cname
Weburl, domain, email, ip, tld
Addressarea, region
Helpercapitalize, upper, lower, pick, shuffle
Miscellaneousguid, id
'birthday': '@date', // 默认 yyyy-MM-dd
'entryDate': '@date("yyyy/MM/dd")', // 指定日期格式 yyyy/MM/dd
'createDate': '@datetime', // 默认 yyyy-MM-dd HH:mm:ss 
'updateDate': '@datetime("yyyy/MM/dd HH:mm:ss")', //默认yyyy/MM/dd HH:mm:ss
'title': '@ctitle(3, 6)', // 中文标题(3到6个字)
'content': '@csentence(8, 12)', // 一段中文文本(8到12个字)
'first': '@cfirst', // 中文名 
'last': '@last', // 英文姓
'url': '@url("http", "lx.com")', // URL 
'area': '@region', // 区域 
'address': '@county(true)', // 省市县 
'zipCode': '@zip' // 邮政编码
'email': '@email' // 邮箱地址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值