以前还未有前后端分离的时候,前端都是静态页布局,现在有了前后端分离开发模式,测试的时候经常是写死的json数据测试。最近发现一款特别好用的数据模拟插件,完全满足前端自己开发测试调试了。
首先,大致说下mockjs的几个常用用法。
1、Mock.mock
根据数据模板生成模拟数据。
最常见的用法是:
Mock.mock({
‘list|1-10’: [
{
‘id|+1’: 1000,//|+1标示自增长 具体的几种规则请看文档
‘name|string’: ‘@name’,//@name根据name命令生成随机名称,具体看文档
}
]
})
2、Mock.Random()
他是一个工具类,用于生成各种随机数据。
2-1、Ranndom.now( format ) Random.date(format)
now()是根据format格式返回当前时间 date()是根据format格式随机的一个时间
2-2、Random.image( size, background, text )
生成一个随机的图片地址。参数都可选
size格式:’宽x高’
background格式:#000000
text:指示图片上的文字。默认值为参数 size。
2-3、Random.cparagraph( min?, max? )
随机生成一段中文文本。
min~max指生成文本的句子区间个数
2-4、Random.ctitle( min?, max? )
随机生成一句中文标题。
min~max指示单词中字符的区间个数。
还有一个是@占位符的使用方式,这个具体直接查看官方文档吧。大致就是@结合mock提供的一些语法命令的单词来使用
以上,是生成数据模拟的一些常用命令。
接下来我用express-generator生成器生成的项目,在结合mockjs插件写了一个分页的demo。前端偷懒,直接使用小程序调试测试了。
后端API代码接口:
roters/book.js::
var express=require('express');
var router=express.Router();
var Mock=require('mockjs');
var MockRandom=Mock.Random;
var pageCount=MockRandom.integer(1, 10);
var haseMore=true;//是否结束分页
var ids=10000;//自增长id
var bookListTemplate={};//数据模板
router.get('/index', function(req, res, next){
var currPage=parseInt(req.query.currPage || 1);
console.log('当前请求page页:'+currPage)
ids=currPage * 10000