00x1 mockjs简介
首先确保安装并成功引入axios;
然后安装mockjs npm install mockjs –save-dev;
在main.js文件中引入mockjs并配置axios跨域信息:
00x3 Mock.js语法
mock.js语法分为两种,数据模板定义和数据占位符定义
- 数据模板定义
基本结构:属性名|生成规则:属性值
1234567 (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)'name|count.dcount': value(7)'name|+step': value
(1)属性值是字符串String
(2)属性值是数字Number
(3)属性值是布尔类型Boolean
(4)属性值是对象Object
(5) 属性值是数组Array
(6) 属性值是函数Function
(7) 属性值是正则表达式RegExp
- 数据占位符定义
基本结构:属性名:占位符
1 'name|':'@占位符()'
占位符也可以引用数据模板中的属性;占位符会有限引用数据模板中的属性;占位符支持相对路径和绝对路径。
00x4 Mock.mock()
Mock.mock(rurl?, rtype?, template|function(options))
根据数据模板生成模拟数据
Mock.mock(template)
根据数据模板生成模拟数据。
Mock.mock(rurl, template)
记录数据模板,当拦截到匹配rurl的ajax请求时,根据数据模板生成模拟数据,并作为响应数据返回。
Mock.mock(rurl, function(options))
记录用于生成响应数据的函数。当拦截到匹配rurl的ajax请求时,函数function执行,并把执行结果作为响应数据返回。
Mock.mock(rurl, rtype, template)
记录数据模板,当拦截到匹配rurl和rtype的ajax请求时,将根据数据模板生成模拟数据,并作为响应数据返回。
Mock.mock(rurl, rtype, function(options))
记录用于生成响应数据的函数。当拦截到匹配rurl和rtype的ajax请求时,函数function(options)将被执行,并把执行结果作为响应数据返回。
rurl
标识需要拦截的url,可以是url字符串或者url正则:
|
|
rtype
可选,标识需要拦截的ajax请求类型。例如GET, POST, PUT, DELETE等。
template
可选,标识数据模板,可以是对象或字符串。
function(options)
可选,表示用于生成响应数据的函数。
options
指向本次请求的ajax选项集,含有url, type和body三个属性。
00x5 构造模拟数据
新建一个mock.js文件,在mock.js文件中引入mockjs
根据mock.js语法格式构造模拟数据
mock.js也支持模拟ajax请求响应时间,自定义的响应时间可以是绝对值,也可以是区间。
00x6 请求获取数据
在需要数据的页面中引入构造的mock的api
请求获取数据
完成到这一步后,打开项目就可以看到已经生成的模拟数据,亲测可用。如果只是想了解mockjs语法,可以在打开官网,直接使用示例语法在浏览器控制台上进行测试。