前端模拟数据生成器

摘要:

  ?随着用户体验的重要性越来越高,目前前端和后台的解耦已经越来越明显了,这也加大了前后端的配合工作。在前端开发过程中可能我们需要一些后台返回的数据来完成交互效果,但是后台开发人员并没有完成后台功能,此时我们只能等,但是这样必然影响了开发进度,浪费了时间。有很多种解决方法,如果后端解决的话,那就是先定义接口,然后将假数据直接返回。如果在前端解决的话,前端搭建自己的服务,不依赖后端。作为前端工程师,今天我分享下另一种前端解决方案,mock服务。

简介:

  Mock.js 是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试。提供了以下模拟功能

  • 根据数据模板生成模拟数据
  • 模拟 Ajax 请求,生成并返回模拟数据
  • 基于 HTML 模板生成模拟数据

例子:

mock.js

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta http-equiv="Content-Type" content="text/html">
 5     </head>
 6     <body>
 7         <script src="http://cdn.staticfile.org/jquery/2.0.0/jquery.min.js"></script>
 8         <script src="http://mockjs.com/dist/mock.js"></script>
 9         <script>
10             Mock.mock(/\.json/, ‘get‘, function(options) {
11                 var url = options.url;
12                 var data = url.substring(url.indexOf(‘?‘)+1);
13                 return data;
14             });
15
16
17             Mock.mock(/\.json/, ‘post‘, function(options) {
18                 return options.data;
19             });
20
21
22             $.ajax({
23                 url: ‘mock.json‘,
24                 dataType: ‘json‘,
25                 type: ‘get‘,
26                 data: {
27                     test: ‘test‘
28                 }
29             })
30             .done(function (data, status, jqXHR) {
31                 $(‘<pre>‘).text(data)
32                     .appendTo(‘body‘);
33             });
34         </script>
35     </body>
36 </html>

apitizer.js

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta http-equiv="Content-Type" content="text/html">
 5     </head>
 6     <body>
 7         <script src="http://cdn.staticfile.org/jquery/2.0.0/jquery.min.js"></script>
 8         <script src="./apitizer-master/apitizer.min.js"></script>
 9         <script>
10         var schema = {
11             type : "object",
12             properties : {
13                 id : {
14                     type : "integer"
15                 },
16                 username : {
17                     type : "string"
18                 },
19                 password : {
20                     type : "string"
21                 }
22             }
23         }, userStore;
24
25         apitizer.addSchema(‘user‘, schema);
26         userStore = apitizer.schemaStore(‘user‘, 0, {
27             id : apitizer.types.autoincrement()
28         })
29
30         userStore.add({
31             username : ‘retro‘,
32             password : {
33                 a: ‘a‘,
34                 b: ‘b‘
35             }
36         });
37
38         apitizer.fixture(‘POST /login‘, function(params){
39             var users = userStore.db(params) // Search the data in the store‘s database
40             if(users.count() === 0){
41                 throw {errors: [‘Wrong credentials‘], status: 401}
42             } else {
43                 return users.first();
44             }
45         });
46
47         $.post(‘/login‘, {
48             username : ‘asf‘,
49             password : 1338
50         }).then(function(data){
51             $(‘<pre>‘).text(JSON.stringify(data, null, 4))
52             .appendTo(‘body‘);
53         }, function(error){
54
55         });
56
57
58         </script>
59     </body>
60 </html>

PS:

mock.js:http://mockjs.com/

apitizer.js:https://github.com/retro/apitizer

时间: 2024-08-05 23:31:04

前端模拟数据生成器的相关文章

Mock.js 与 fiddler 前端模拟数据与拦截请求

最近 工作需要  接触了Mock.js. Mock.js 是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试.提供了以下模拟功能: 根据数据模板生成模拟数据 模拟 Ajax 请求,生成并返回模拟数据 基于 HTML 模板生成模拟数据 http://mockjs.com/ 什么入门之类的 看官网就会~~~ Fiddler   web调试利器 便于我们调试前后端数据等. Fiddler是一个web调试代理.它能够记录所有客户端和服务器间的http请求,允许你监视,设置断点,

mockjs学习总结(方便前端模拟数据,加快开发效率)

  基本介绍: 在我们前端开发中经常遇到这样的事情,接口没有写好,只能写静态页面,如何才能用很简单的方法模拟后端数据呢?mockjs就干了这件事,而且干的还挺好. 下面是我作为初学者的一些总结经验,期望和小伙伴们一起交流进步. 实现的功能有:1.基于数据模板 生成模拟数据   2.基于html模板 生成数据    3.拦截并模拟ajax请求 安装: 一.安装(需要安装nodejs) node: npm install mockjs bower: npm install -g bower bowe

前端模拟数据的4种技术方案

一.模拟死数据 1.写在函数的变量里面或者写在全局变量 let listData = [{id: '001', name: 'banana'},{id: '002', name: 'orange'},{id: '003', name: 'apple'}]; 2.写在defaultProps里面,或者this.state里面 如果前端框架用的是react,把假数据写在defaultProps里面,然后解构读取this.props,或者把假数据写在this.state里面,然后解构读取this.st

玩转前端之模拟数据

是否还在为前端模拟数据头疼? 是否还在为后端返回数据格式较多内心烦躁? 是否还想吸一支烟压压精? 看下去吧,这里比心理医生还管用... 1.满地拉屎版 function fetchUserList() { } var isDev = true; var data = { "status": 3, "message": "hello world", "string": "★★★", "number&

前后端分离-模拟数据之RAP2快速入门

是啥? RAP是一个可视化接口管理工具 通过分析接口结构,动态生成模拟数据,校验真实接口正确性, 围绕接口定义,通过一系列自动化工具提升我们的协作效率.我们的口号:提高效率,回家吃晚饭! 可视化编辑,完善的版本控制,各种格式的导入导出.让前后端约定接口的工作变得十分简单 RAP会自动根据接口文档生成Mock接口,这些接口会自动生成模拟数据,支持复杂的生成逻辑. 为啥? 在前端开发过程中,我们需要实时与后端进行数据交互.然而大多数时候,前端开发都是在没有后端数据提供的情况下进行的,这时我们就需要用

vue+mockjs 模拟数据,实现前后端分离开发

在项目中尝试了mockjs,mock数据,实现前后端分离开发. 关于mockjs,官网描述的是 1.前后端分离 2.不需要修改既有代码,就可以拦截 Ajax 请求,返回模拟的响应数据. 3.数据类型丰富 4.通过随机数据,模拟各种场景. 等等优点. 总结起来就是在后端接口没有开发完成之前,前端可以用已有的接口文档,在真实的请求上拦截ajax,并根据mockjs的mock数据的规则,模拟真实接口返回的数据,并将随机的模拟数据返回参与相应的数据交互处理,这样真正实现了前后台的分离开发. 与以往的自己

使用express, create-react-app, mongodb搭建react模拟数据开发环境

提要 最近刚刚完成了一个vue的项目,其中涉及的用户数有6000多个以及其他数据也比较多,为了在前端能够真实的进行数据模拟,所有把全量数据拷贝下来放到了api.json中.这样导致整个api.json文件过大,每次进行修改的时候编辑器都会卡顿. 项目做完后就在想能不能把大量的模拟数据放在数据库中进行管理,用nodejs来操作数据库.顺便再熟练一下nodejs. 使用的技术栈 express 是nodejs当前最流行的后台框架.官网对express的描述,它是一个机遇Node.js平台,快 速.开

App开发如何利用Fidder,在api接口还没有实现的情况下模拟数据,继续开发

相信app开发很多时候,都是等后台出接口,拿到数据调试错误.殊不知,我们完全可以不用等,只要有约定好的接口定义文档,借助工具就能做到,自己模拟数据返回~      下面主要是在项目组开发过程中,使用Fidder,摸索总结的经验之谈.     一.初步介绍及前期准备 1.抓包工具简介 抓包工具有很多,以下列一下最常用的几个工具别简单介绍下 firebug:web最常用的调试工具,但是对于分析http请求的详细信息,不够强大.模拟http请求的功能也不够,且firebug常常是需要“无刷新修改”,如

【BZOJ3671】【NOI2014】随机数据生成器(贪心)

[BZOJ3671][NOI2014]随机数据生成器(贪心) 题面 BZOJ 题解 前面的模拟 真的就是语文阅读理解题目 理解清楚题目意思 然后就会发现要求的就是一个贪心 从小往大枚举,检查当前数能不能选 如果能选 就会限制其他行的左右能够到达的范围 暴力修改一下 然后就很愉快的\(AC\)了 这题别的不卡 卡空间,卡格式 我也是醉了 #include<iostream> #include<cstdio> #include<cstdlib> #include<cs