分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

Mock.js的使用

发布时间:2023-09-06 01:31责任编辑:董明明关键词:js

MOCK.js 安装及使用

一、mock.js 简介

   生产随机数据,拦截ajax请求。

 

1、前后端分离:让前端工程师独立于后端进行开发

 

2、开发无入侵:不需要修改既有代码,就可以拦截Ajax请求,返回模拟的响应数据。

 

3、数据类型丰富:支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、等等

 

4、增加单元测试的真实性:通过随机数据,模拟各种场景。

 

5、用法简单:符合直觉的接口

 

6、方便扩展:支持扩展更多数据类型,支持自定义函数,和正则。

二、mock.js 的下载与安装

  Mock.js 官方网站:http://mock.js.com

 

  npm 安装 

npm install mockjs

    或者直接引用在 <script>

三、数据模板格式

“name | rule “: value“属性名| 生成规则”: 属性值

四、get请求用法

   Ajax发起get请求

 

// 减少代码量使用jquery ajax请求方法

 

$.ajxa({url: "http://test.com",type: "get",dataType : "json" }).done(function (data,status,xhr){ //JSON.stringfy(value[,replacer[,space]]) // value 将要序列化成一个JSON字符串的值 //如果该参数是一个函数,则在序列化的过程中,被序列化的值的每个属性都会经过该函数的转化和处理,如果该参数是一个数组, //则只有包含在这个数组中的属性名才会被序列化到最终的字符串参数中,如果该参数的为null或者未提供,则对象所有的属性都会被序列化 //space(可选)指定缩进的空白字符串,用于美化输出,如果参数没有提供将没有空格 ?console.log(JSON.stringify(data,null,4));})

 

 

//Mock.js响应Mock.mock(‘http://test.com‘,{ ‘user|1-3‘:[{ ?‘name‘:‘@name‘,//中文名称 ?‘id|+1‘:23, //id 初始值为23自动加1 ?‘age|18-43‘:0,//age 18-43之间的随机书 ?‘birthday‘:‘@date("yyyy-MM-dd")‘, ?‘city‘:‘@city(true)‘,//中国城市 ?‘color‘:‘@color‘,//16进制颜色 ?},{ ?‘gf‘:‘@name‘ }]});

 

生成样式

 

其中响应时也是可以使用function

Mock.mock(‘http://test.com‘,‘get‘,function() { return.Mock({ ?"user|1-3": [{ ??‘name‘:‘@name‘, ??‘id‘:88 ?}] });});

 

 

 

 

//结果:{ "user":[ ?{ ??"name":"徐超", ??"id":88 ?} ]}

五、post 请求

Post请求和get请求类似。

 

六、其他用法与工具

1、自定义响应时间

 

//设置4秒再响应Mock.setup({timeout :4000 }); //设置1到4秒间响应Mock.setup({timeout :‘1000-4000‘ });

 

2、数据集

 Mock.Random 是一个工具类,用于生成各种格式的随机数据。有两种写法:

 

//生成一个email格式的字符串 console.log(Mock.mock(‘@email‘)); //第二种:var Random = Mock.random;console.log(Random.email());

 

提供的数据类型

 

 

如果没有可以自行自定义扩展

Random.extend({ weekday: function(date) { ?var weekdays = [‘周一‘,‘周二‘,‘周三‘,‘周四‘,‘周五‘]; ?return this.pick(weekdays); ?}}); console.log("输出你看下就知道了");

 

3、校验

Mock.valid(template, data)

用来校验真实数据data和模板数据template匹配

 

var tempObj = { "user|1-3" : [{‘name‘:‘@name‘,‘id|28-338‘} ]}; var realData = { "user":[{‘name‘: ‘张三‘,‘id‘:90 }]}; console.log(Mock.valid(tempObj,realData));

 

 

4、JSON Schema

 

 Mock.toJSONSchema(template)

用来把Mock.js风格的的数据模板template转换成JSON Schema

 

 

Mock.js的使用

原文地址:http://www.cnblogs.com/cxh1995/p/8059177.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved