mockjs,json-server一起搭建前端通用的数据模拟框架教程

无论是在工作,还是在业余时间做前端开发的时候,难免出现后端团队还没完成接口的开发,而前端团队却需要实现对应的功能,不要问为什么,这是肯定存在的。本篇文章就是基于此原因而产出的。希望对有这方面的需求的同志有所帮助。

一、使用的组件包

1. mockjs:用于模拟查询结果

2. json-server:搭建模拟服务器,以及模拟CRUD的相关操作接口

二、具体的实现1. 建立项目,并安装相应的依赖

cnpm install --save-dev mockjs json-server

上述命令为安装依赖,下图为项目结果:

说明:

data:此文件夹存放的为利用mockjs模拟的查询结果,dataProvider后面单独简单

lib:包含的一个jquery文件,用于模拟ajax请求用

route:json-server的路由表,用于模拟crud操作用,没搞清楚如何实现多个db.json

index.js:模拟服务器入口文件

test.html:测试cors

2. 搭建基础的json-server服务器

var JsonServer = require('json-server');
var path = require('path')

var Server = JsonServer.create();
var defaultMid = JsonServer.defaults({
 "noCors": false,
 "static": path.join(__dirname, "/lib")
});

var router = JsonServer.router(path.join(__dirname, '/route/db.json'));

Server.use(defaultMid);
Server.use(router);
Server.listen(8009);
console.log('start 8009.....');

此部分内容完全按照json-server的官方说明编写,值得注意的是static和noCors的设置,他是作为一个中间件来完成的。

3. 增加mockjs的应用

在这里mockjs只作为参生数据的基石,而dataProvider.js却提供了统一外部访问接口的能力。也就是把模拟数据以module(相当于mvc中的controller)和func(相当于mvc中的action)来进行分隔。不知这种实现是否可行(本人现在项目中暂时是这样使用的。)

3.1 首先,在data文件夹中建立emp.js文件,编写了如下内容:

var mockjs = require('mockjs');

module.exports = {
 list: function(){
 var data = mockjs.mock({
 'list|3':[
 {
  'id|+1':1
 }
 ]
 });
 return data.list;
 }
}

此处就是对mockjs的使用

3.2 dataProvider使用实现模块的收集

var emp = require('./emp');

var moduels = {
 emp: emp
}

module.exports = {
 execute: function(m, f, args){
 return moduels[m][f].call(moduels[m], args);
 }
}

3.3 json中增加get方法,用于获取数据

var provider = require('./data/dataProvider');

Server.get('/data',function(req,res){
 var moduleName = req.body ? req.body.moduleName : req.query.moduleName;
 var funName = req.body ? req.body.funName : req.query.funName;
 var arg = null;
 res.json(provider.execute(moduleName, funName));
 res.end();
});

如果要访问emp下的List,则地址为:http://localhost:8009/data?moduleName=emp&funName=list

4. 总结

1. json-server的db.json文件只能有一个,这里可以配置多个数据实体,他是以get为获取,post为写入http协议来实现数据的CRUD的

看到这里,你是否有感觉到搭建一个数据模拟服务器如此简单,当然只是webapi的。下载示例代码

以上这篇mockjs,json-server一起搭建前端通用的数据模拟框架教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • vue-resource + json-server模拟数据的方法

    本文介绍了vue-resource + json-server模拟数据,分享给大家,具体如下: 一.安装 npm install vue-resource --save npm install json-server --save 二.配置与使用vue-resource // main.js import VueResource from 'vue-resource' Vue.use(VueResource) this.$http.get('api/getNewsList') .then(fun

  • mockjs,json-server一起搭建前端通用的数据模拟框架教程

    无论是在工作,还是在业余时间做前端开发的时候,难免出现后端团队还没完成接口的开发,而前端团队却需要实现对应的功能,不要问为什么,这是肯定存在的.本篇文章就是基于此原因而产出的.希望对有这方面的需求的同志有所帮助. 一.使用的组件包 1. mockjs:用于模拟查询结果 2. json-server:搭建模拟服务器,以及模拟CRUD的相关操作接口 二.具体的实现1. 建立项目,并安装相应的依赖 cnpm install --save-dev mockjs json-server 上述命令为安装依赖

  • Vue-cli 使用json server在本地模拟请求数据的示例代码

    写在前面: 开发的时候,前后端不论是否分离,接口多半是滞后于页面开发的.所以建立一个REST风格的API接口,给前端页面提供虚拟的数据,是非常有必要的.json server 作为模拟工具,因为设置简单,容易上手.本文是做一个简单的上手介绍,有需要的朋友可以做一下参考,喜欢的可以点波赞,或者关注一下,希望可以帮到大家. json server 工具: 在后台还没给接口之前,使用JSON-Server搭建一台JSON服务器,将接口要返回的数据放在json文件里面.然后请求这些数据,这样我们可以先做

  • JavaScript架构搭建前端监控如何采集异常数据

    目录 前言 什么是异常数据? 接口异常 拦截器中捕获异常 前端异常 为啥不用 window.onerror ? 异常处理函数 处理接口异常 处理前端异常 获取环境数据 在 Vue 中 在 React 中 总结 前言 前两篇,我们介绍了为什么前端应该有监控系统,以及搭建前端监控的总体步骤,前端监控的 Why 和 What 想必你已经明白了.接下来我们解决 How 如何实现的问题. 如果不了解前端监控,建议先看前两篇: 为什么前端不能没有监控系统? 前端监控的总体搭建步骤 本篇我们介绍,前端如何采集

  • JS无限极树形菜单,json格式、数组格式通用示例

    修改了一下数据格式,是json和数组或者混合型的数据都通用,不用特定key等 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"&g

  • Windows server 2008搭建php运行环境图文详解(php5.3)

    下载php组件包 首先到http://windows.php.net/download/下载你需要的php版本,这里我下载的是php5.3. 下面解压php组件 包到磁盘上. 安装Microsoft Visual C++ 2008 SP1 可再发行组件包 x86 版 在地址http://www.microsoft.com/zh-cn/download/details.aspx?id=5582下载安装Microsoft Visual C++ 2008 SP1 可再发行组件包 x86版.注意,这里下

  • php实现将数据做成json的格式给前端使用

    interCom.php页面 <?php header('Content-Type: application/json; charset=utf8'); class Response{ /* interger $Status 状态码 200/400 * string $Msg 提示信息 * array $Data 数据 * return string 返回值 json返回的数据 * */ public static function json($Status,$Msg,$Data=array()

  • Vue请求JSON Server服务器数据的实现方法

    由于这里是在之前这篇文章的基础上进行稍加修改完成的,因而其绝大部分代码与上面的是一样的,而其不同之处在于,其请求数据的数据源不是来源于json文件,而是来自于后台的数据.此处的后台服务器中的数据由JSON Server所提供. 注意事项 json的数据结构 这是之前所请求的json数据: { "status":0 ,"message":[ { "id":1 ,"name":"张三" } ,{ "i

  • Windows Server 2012搭建文件服务器的详细步骤

    文件服务器是企业里面用的最多的服务器之一,它主要用于提供文件共享. 下面我们一步一步来搭建它~ 1. 打开Windows server管理面板,选择添加角色和功能 到服务器角色这一步的时候,选中文件服务器和文件服务器资源管理器 下一步至安装,等待安装完成,安装完可能需要重启 安装完成后在服务器管理界面会有一个文件和储存服务 打开文件和存储服务--共享--点击若要创建文件共享,请启动新加共享向导 五种方式的共享方式: SMB共享-快速 最简单的方式,类似于简单共享,且类似于public目录,就是所

  • java后端把数据转换为树,map递归生成json树,返回给前端(后台转换)

    java 后端,把数据转换为树,map递归生成一颗json树,返回给前端(后台转换) 1.为什么要写这样的一篇博客? 2.java 后端代码 3. 转化完的数据在前端格式为类似于: 1.为什么要写这样的一篇博客? 在公司的实习的时候,遇到了一个略坑的东西,就是要医院的科室通过其子父id做成一颗项目树,但是科室的层次有很多,有点甚至到了六层,导致最终选择了优化后的递归算法. 如果在三层或者三层以下,可以考虑使用内部类,超过三层的话,最好就使用递归了,不过记得必须的优化. 2.java 后端代码 代

  • 最新window server 2012搭建FTP服务的详细步骤

    目录 基本概念介绍 FTP文件传输协议 一.安装FTP服务 1.打开服务器管理器 2.默认配置 3.弹出的窗口点击“添加功能”,继续下一步. 4.功能列表中选择“ISS可承载web核心”.下一步. 5.角色服务中勾选FTP服务,如果管理工具中IIS项也最好勾选上,如图. 6.点击安装,等待安装完成. 二.配置ftp服务 7.回到“服务器管理器”,从工具栏选择IIS管理器. 8.在IIS管理器中,右击“网站”,选择“添加FTP站点”. 9.站名随便写,并选择一个物理地址. 10.按图配置,选择无S

随机推荐