• realmock 前后端分离方案


    realmock 前后端分离方案

    express + randomjson 模拟后端服务,前端服务器(比如webpack, nigix等)将请求代理到该服务器地址即可

    github地址:https://github.com/zhoushengmufc/realmock

    realmock优势

    1,利用了express强大的服务器功能,轻松模拟按条件返回json,延时返回json,返回不同http状态等web开发中的常见情况

    2,配合nodemon的监测文件变化并自启动功能,文件变更时无需手动重启服务器

    3,结合randomjson的随机json生成功能,比如生成指定大小的图片,生成超大json等,mock数据更轻松

    randomjson地址:https://github.com/finance-sh/randomjson


    使用 下载项目到本地,进入文件夹

    默认将json存放在在mock文件夹中

    配置 index.js

    // 端口号
    app.listen(3001);
    console.log('server start');
    
    // api config
    
    // 常规mock get
    var detailJson = require('./mock/detail.json');
    app.get('/api/detail', function (req, res) {
        res.send(detailJson);
    });
    
    // 数据返回延迟
    var addJson = require('./mock/add.json');
    app.get('/api/add', function (req, res) {
        setTimeout(function () {
            res.send(addJson);
        }, 3000);
    });
    
    // 根据条件返回不同json get方法
    var json1 = require('./mock/json1.json');
    var json2 = require('./mock/json2.json');
    app.get('/api/get', function (req, res) {
        if (req.query.type === '1') {
            res.send(json1);
        }
        else {
            res.send(json2);
        }
    });
    // 根据条件返回不同json post方法
    app.post('/api/get', function (req, res) {
        if (req.body.type === '1') {
            res.send(json1);
        }
        else {
            res.send(json2);
        }
    });
    
    // 使用randomjson返回随机json 随机mock
    var listJson = require('./mock/list.json');
    app.get('/api/list', function (req, res) {
        var resJson = randomjson(listJson);
        res.send(resJson);
    });

    开启服务

    在项目根目录中,打开命令行工具,运行以下命令:

    npm install

    npm start

    访问url

    可以访问默认示例:

    http://localhost:3001/api/get?type=1

    http://localhost:3001/api/get

    总结 解决了哪些问题

    1,常见本地模拟都是即刻返回,不能指定返回时间,realmock可以加一个延迟时间,调试加载中效果

    2,常见本地模拟都是一个接口返回一个数据,realmock可以根据条件返回不同的json,更真实

    3,指定http状态码,模拟各种网络情况和服务器情况

    4,利用randomjson,可以返回指定大小的图片,可以返回随机数据,可以返回指定带小的数组,可以返回唯一的数据,比起传统手写json,提升开发速度

    realmock整合了express nodemon randomjson 让模拟的后端功能更加丰富,更加真实

  • 相关阅读:
    vue+filesaver+xlsx导出table为excel
    layer弹窗第一次不居中。然后再点击就居中了。解决办法
    GitHub的Fork 是什么意思
    什么时候会发送options请求
    实现H5连接分享给好友或朋友圈自定义分享内容(标题、图片、简介)的方法代码
    vue的element的table表头自定义添加按钮
    小程序配置体验版添加参数
    迅为iMX8M Mini开发板硬件接口原理分析
    迅为i.MX8MM 核心板引脚说明(按功能划分)
    迅为3399开发板Ubuntu 系统双屏异显,双屏同显测试
  • 原文地址:https://www.cnblogs.com/mufc-go/p/6825865.html
Copyright © 2020-2023  润新知