mock的使用

2019-06-11  本文已影响0人  刘其瑞

mock.js是一款前端开发中拦截Ajax请求再生成随机数据响应的工具.可以用来模拟服务器响应. 优点是非常简单方便, 无侵入性, 基本覆盖常用的接口数据类型.



思考: 提个简单的开发需求:

请求后台某个接口,返回10-15条学生数据: 要求包含 姓名,年龄,性别. 成功状态码:200 .成功状态信息: success.

`响应数据结构分析:`
{
  status:200,
  msg:'success',
  stuInfo:
    {
      name:'abc',
      age:10,
      gender:0
    }
    ,
    ...
    ,
    {
      name:'abc',
      age:10,
      gender:0
    }
  ]
}
`方法1: 模拟后台(node/php + mysql)`
  1,搭建node服务器/Apache服务器 
  2,开启Mysql服务, 制定数据库,数据表,添加表信息(添加姓名,年龄,性别的值 和 值类型)
  3,使用node或者php语法关联数据库,声明查询sql语句,并执行sql.
  4,将查询db内容处理为json返回
代码量: 前端ajax+模板引擎20行左右 + 后台实现代码40行左右 + 繁琐的数据表设计 + 一条条的添加数据库内容  =  BOOM心态爆炸!!!

// 或者你可以...
`方法2: 完全脱离后台和数据库(mockjs配合vue的拦截器),或者 脱离数据库操作(mockjs简单的node后台)`
  1,搭建node服务器
  2,使用mockjs的mock方法制定随机数据
  3,处理为json返回
代码量: 前端ajax+模板引擎20行左右 + node服务响应mock数据11行 = 咦嘿嘿很开心!
代码:
  const app = reqire('express')
  const Mock = require('mockjs')
  app.get('/someApi',(req,res)=>{
    var resData = Mock.mock({
      'status':200,
      'msg':'success',
      'stuData|10-20':[{
        'name|1-3':/[a-z][A-Z]/,
        'age|+1':10,
        'gender|1':true
      }]
    })
    res.end(JSON.stringify(resData))
  })
  app.listen(3000)


一 Mockjs怎么用?

1 mock.js的使用

1.1.1 安装并引入mock.js

创建一个node服务器--server.js文件

// 引入express
const express = require('express');
// 创建服务对象
const app = express()
// 准备数据
var data = '123'
// 监听路由
app.get('/', (req, res) => { 
  res.end(data);
})
// 开启服务
app.listen(3000)
1.1.2 安装并引入mock.js
npm install mockjs 
或者 
script:src="http://mockjs.com/dist/mock.js"
1.1.3 mockjs模块模拟数据
  // 引进express
  const express = require('express');
  // 引进mockjs
  const Mock = require('mockjs')

  // 准备服务对象
  const app = express()

  // 监听路由
  app.get('/', (req, res) => {

    // 准备随机数据
    var data = Mock.mock({
      'list|1-20': [{
        'name|3-5': /[a-z][A-Z]/,
        'age|10-15': 15,
        'gender|1': true,
      }]
    })
    res.end(JSON.stringify(data));
  })

  // 开启服务
  app.listen(3000)
1.1.4 测试服务

在terminal窗口中运行命令nodemoon server.js
在浏览器中请求127.0.0.1:3000 观察响应体


1560216083(1).jpg
1.1.5 使用

这样在ajax请求相关接口就能返回内容随机,结构固定的JSON数据了


2 mockjs语法

2.1 Mock.mock()方法

加对象参数就可以生成响应数据


2.2 参数对象模板规则

2.3 Mock.valid( template, data ) 校验数据(处理请求发送来的数据,如果完全脱离后台就需要该方法)

2.4 Mock.random工具对象

上一篇下一篇

猜你喜欢

热点阅读