Mock.js前端 一款可以脱离后台服务器,模仿接口的小东西

Mockjs实现了基于数据模版生成数据,拦截并模拟Ajax请求


借鉴:

https://segmentfault.com/a/1190000008839142

https://github.com/nuysoft/Mock/wiki/Getting-Started


node的express框架


app.js

var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var Mock = require('mockjs');

//body-parser - node.js 中间件,用于处理 JSON, Raw, Text  URL 编码的数据。
app.use(bodyParser.urlencoded({extended:false}));
app.use(bodyParser.json());

//静态文件
app.use(express.static('public'));
app.use(express.static('public/views'));//login.htmlviews文件夹中
app.use(express.static('public/json'));

//mockjs应用
app.get('/loginmock',function(req,res){
    var obj = {'aa':'11','bb':'22','cc':'33','dd':'44'};
    var data = Mock.mock({
        "user|1-3":[{//随机生成1-3个数组元素
            'name':'@cname',//中文名称
            'id|+1':88,//属性值自动加一,初始值为88
            'age|18-28':0,//18-28以内的随机数,0只是确定类型
            'birthday':'@data("yyyy-MM-dd")',//日期
            'city':'@city(true)',//中国城市
            'color':'@color',//16进制颜色
            'fromObj|2':obj//obj对象中随机获取2个属性
        },{
            'gf':'@cname'
        }]
    });
    return res.send({data:data});
});


login.html

$.ajax({
    url:'loginmock',
    type:'get',
    dataType:'json'
}).done(function (data,status,xhr) {
    console.log(JSON.stringify(data,null,4));
})

结果:

Mock.js前端 一款可以脱离后台服务器,模仿接口的小东西_第1张图片



Mock.js前端 一款可以脱离后台服务器,模仿接口的小东西_第2张图片



你可能感兴趣的:(js)