mockjs

今天写了一个简单的用户登录功能,虽然很简单,但是能自己完成,使用了axios和mockjs实现交互,还是很开心哒,先说一下mockjs吧

mockjs就像我做毕设时用的虚拟串口工具一样,重点是虚拟,还有工具。首先呢,当不得真,其次,真的还不错的工具啊,说句废话,工具发明出来都是要用的哇,大大解放了人类生产力,这些“工匠”简直太牛了不?!

mockjs是用来解决等不及后台的前端搬砖的问题的,为了让前端能不闲着继续干活,然后充当后台给的接口,拦截前端请求,作为补偿,再给前端一个很真实的假数据。

我写的项目以node作为开发环境,所以用npm install mockjs就可以安装了。

其次在使用时,可以像下边这样:

var Mock = require('mockjs')
Mock.mock('http://baidu.com/user/login','post',{a:1})

Mock.mock就是通过url和方法获取要被拦截的那个倒霉蛋请求的,然后再将第三个参数里的内容给他让他拿着去玩咯,完成任务。

然后看一下,请求部分的代码:

axios.post('http://baidu.com/user/login',param)
.then(res => {console.log(res.data)})

当然了,代码很简单,但我觉得原理是可以讲清楚的,可以对比一下,url是相同的,方法是相同的就好了。最后控制台就可以打印出请求的数据了,也就是这儿的{a:1}了,嗯,就是这样。

然后第三个参数里的数据模板定义规范如下:

由属性名,生成规则以及属性值构成,其中:

  • 属性名 和 生成规则 之间用竖线 | 分隔。
  • 生成规则 是可选的。
  • 生成规则 有 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. 'name|count.dcount': value
  7. 'name|+step': value

这些具体参考https://github.com/nuysoft/Mock/wiki/Syntax-Specification

除过上边用的Mock.mock方法,还有Mock.setup(settings)方法,用来配置拦截请求时的行为,支持的配置项:timeout。

指定被拦截的 Ajax 请求的响应时间,单位是毫秒。值可以是正整数,例如 400,表示 400 毫秒 后才会返回响应内容;也可以是横杠 '-' 风格的字符串,例如 '200-600',表示响应时间介于 200 和 600 毫秒之间。默认值是'10-100'

Mock.setup({
    timeout: 400
})
Mock.setup({
    timeout: '200-600'
})

官网上都有的。目前,接口 Mock.setup( settings ) 仅用于配置 Ajax 请求,将来可能用于配置 Mock 的其他行为。(虽然我也不知道还有什么其他行为)

然后,就到另外一个hin有用的方法了Mock.Random,顾这个英文名就可以思义,随机,哈哈,就是用来生成随机数据的。

具体能生成的东西还是见更详细的网页吧。

最后两个方法,Mock.valid(template,data)校验真实数据data是否与数据模板template相匹配;Mock.toJSONSchema(template)把 Mock.js 风格的数据模板 template 转换成 JSON Schema

​​​​​​​就酱紫啦,我是还在扑腾的小鸟,有错请指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值