mock.js-无需等待,让前端独立于后端进行开发
概述
- 首先啦,我不认识mock.js的作者,带着需求找到mock.js让我觉得很惊艳。
- 相对于其他同类的框架的实现,mock.js超出了我的意料。
- 基于 数据模板 生成模拟数据。
- 基于 HTML模板 生成模拟数据。
- 拦截并模拟 ajax 请求。
- 是的,mock.js只做上述的几件事,但做的足够出色。
解决的问题
开发时,后端还没完成数据输出,前端只好写静态模拟数据。
- 数据太长了,将数据写在js文件里,完成后挨个改url。
- 某些逻辑复杂的代码,加入或去除模拟数据时得小心翼翼。
- 想要尽可能还原真实的数据,要么编写更多代码,要么手动修改模拟数据。
- 特殊的格式,例如IP,随机数,图片,地址,需要去收集。
- 超烂的破网速…
- …
以上都不再是问题
接下来体验 拦截ajax请求并返回模拟数据
。
步骤1 - 安装
安装太简单,跳过
步骤2 - 配置模拟数据
Mock.mock('http://g.cn', {
'name' : '[@name](/user/name)()',
'age|1-100': 100,
'color' : '[@color](/user/color)'
});
步骤3 - 发送ajax请求(jquery版)
$.ajax({
url: 'http://g.cn',
}).done(function(data, status, xhr){
console.log(
JSON.stringify(data, null, 4)
)
})
步骤4 - 查看响应的结果
// 结果1
{
"name": "Elizabeth Hall",
"age": 91,
"color": "#0e64ea"
}
// 结果2
{
"name": "Michael Taylor",
"age": 61,
"color": "#081086"
}
// 结果N ..
结尾
演示: mock-demo
演示: mock-angular-demo
技术: javascript
时间: 2014年8月
参考: mock.js
源码: mock-angular
博客: think2011
20 回复
的确好东西,需要前后端提前沟通好数据格式
@panawang 恩,目前和同事就是根据文档来开发的。 个人项目我想这样做,也很方便。
做 Mock.js 的是我同事,就坐在我对面,哈哈哈
@dotnil 牛人 牛同事啊
思路不错。
看了博客,里面有个 阅读 javascript权威指南 的读书计划。那本书我一直没读过,也想学习啊,可以同学么?时间进度是怎么安排的?
@macross2005 暂时搁置了。:( 你可以上YY,某个群里他们有组织这本书的读书计划,他们在YY分享心得,但是我没去过,上YY应该找到的。
@think2011 好的 谢谢
@dotnil jquery源码分析的作者啊
@think2011 恕我愚昧,YY是什么?
@think2011 哪个yy群?
这个应该是一个好东西,就是网站打开好慢了哦
mock-angular
我吧代码复制到了了,可是拦截不了ajax 不知道什么情况 求大哥大姐指导
没看懂
问一下 哪里有教程呢?
@MTTTM 跨域了不在同一个域名下。
mark 自豪地采用 CNodeJS ionic