使用mock.js随机数据和使用express输出json接口的实现方法


Posted in Javascript onJanuary 07, 2018

前端项目都会用到后端的接口,但当后台接口没有写好的时候,这时候可以用mock.js先随机生成一些假数据来调试页面

安装mock.js

先用express创建一个nodejs的web项目,名字假如是 demo ,这里就不说了

yarn add mockjs

使用

const Mock = require('mockjs')

var data = Mock.mock({
 'list|2': [{
 'id|+1': 1,
 'color': '@color()',
 'date': '@datetime()',
 'img': '@image()',
 'url': '@url(http)',
 'email': '@email()',
 'name': "@name(1,2)",
 'text': '@paragraph()'
 }]
})
console.log(JSON.stringify(data))

上面的随机方法在最下面给出的mockjs文档的链接里可以找到,Mock.Random调用的方法,直接拿来在前面加上@就可以用了,非常方便

输出

{
 "list": [
 {
  "id": 1,
  "color": "#8179f2",
  "date": "2015-06-22 12:10:08",
  "img": "http://dummyimage.com/250x250",
  "url": "http://hwujcvh.fk/vfrjfmi",
  "email": "y.ahbatuekk@mbkhfybrh.pl",
  "name": "James Ronald Rodriguez",
  "text": "Zsogshtw qjscoe qwggnfk ppbdpqd avftd pvczrvnu gsyfyefm rbnbjyy tgemy buple ieghyjp klcxauofu lhjmnb kjpyodk. Njync ysrvx jevei stawy mcosrlpo iacryqob wkkcfuh nkrrdutr zduikjvtf dcv pppbhi ygjnkmg xvpusp ayu lvu. Wgqmtwvo ibqzp cct kodyh ovz slo cpc uqaseuwv ubjgbf hihh oudly mooztiojpi tubmwhsmb kktbkyqp hsvwgoluu jrkosqudm. Wpumdvtw riytwoa sbittrr xtjy beorkb osnjpigntu ndrgxhozeq iufhu hpuirgmh lstoijpqx hopk lkxceqhvr uymj pgdms njjmu ivxijmokn."
 },
 {
  "id": 2,
  "color": "#94f279",
  "date": "1980-02-20 19:46:44",
  "img": "http://dummyimage.com/336x280",
  "url": "http://voyqj.cx/jjyksqzur",
  "email": "k.ydgui@gixl.cr",
  "name": "Ronald Nancy Harris",
  "text": "Lbdpwqwpgd sodipqu oncnnyis ebtwho dnbt fqxnjyzr qtrriop gfbjt prto dgmtgff gwaqnhon sdlvpxpj pqomfflsc skj. Cvteunoj oqmjnfm vowvmw ypywtr klcazkvg cvsyzayytl bgvywe kfqqzhfg iahm jwury xsgf xnr pvfxwhaed nauookwi xuxtgnwq flcbmnrm qglgziy vegml. Cexit vdotefuj nptmei hekmljnt bukxrd ndhj lkfyjcv oldpgo rrj kprfklt nfks yvrvc. Aynbyd hxguza ftjrn kmlirqo wxald jqjkvahim jnhezpgm usev qbynwhm yotehgkwdg eyxj vfnm icchnds dgmd odxajing vqrdl yhpp eba. Tykxnhe njod bslwbsjcj rwlv rkvxk rypew fpfqrqi psislxuwgs jcwrbtfn qeszy leovhc jwupwzo kitct nhbdhjq xyiajxms. Gfgkw nnlg drcqnpwn bowqknwy oiw yysaohk fqqsbgvp mulik vusikwv nbp kpbo nhti dhf hrgql."
 }
 ]
}

集成到express里输出json

const Mock = require('mockjs')

exports.index = function(req, res) {
 var data = Mock.mock({
 'list|2': [{
  'id|+1': 1,
  'color': '@color()',
  'date': '@datetime()',
  'img': '@image()',
  'url': '@url(http)',
  'email': '@email()',
  'name': "@name(1,2)",
  'text': '@paragraph()'
 }]
 })
 // 延时1秒,模拟网络请求时间
 setTimeout(function() {
 res.send(JSON.stringify(data))
 }, 1000);
}

express跨域

接口地址跟前端项目地址肯定会不一样,这时候请求接口就会涉及到跨域的问题,express里的解决办法如下

app.all('*', function(req, res, next) {
 res.header("Access-Control-Allow-Origin", "http://localhost:8080");
 res.header("Access-Control-Allow-Headers", "X-Requested-With");
 res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
 res.header("X-Powered-By",' 3.2.1')
 res.header("Content-Type", "application/json;charset=utf-8");
 res.header('Access-Control-Allow-Credentials', true);
 next();
});

说明:上面代码是在网上找的,不过网上找的没有这句 res.header('Access-Control-Allow-Credentials', true);

我前端项目的地址是 http://localhost:8080 所以 Access-Control-Allow-Origin 的值就是 http://localhost:8080

可以根据自己的服务器来修改

参考

•mockjs文档

总结

以上所述是小编给大家介绍的使用mock.js随机数据和使用express输出json接口的实现方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
JavaScript执行效率与性能提升方案
Dec 21 Javascript
jquery实现textarea输入字符控制(仿微博输入控制字符)
Apr 26 Javascript
固定网页背景图同时保持图片比例的思路代码
Aug 15 Javascript
javascript dom追加内容实现示例
Sep 21 Javascript
js 触发select onchange事件代码
Mar 20 Javascript
关于jQuery判断元素是否存在的问题示例探讨
Jul 21 Javascript
利用node.js如何搭建一个简易的即时响应服务器
May 28 Javascript
Vue动态组件实例解析
Aug 20 Javascript
解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题
Sep 14 Javascript
vue-cli V3.0版本的使用详解
Oct 24 Javascript
使用Vue.observable()进行状态管理的实例代码详解
May 26 Javascript
利用uni-app生成微信小程序的踩坑记录
Apr 05 Javascript
使用 Node.js 开发资讯爬虫流程
Jan 07 #Javascript
CentOS环境中MySQL修改root密码方法
Jan 07 #Javascript
12条写出高质量JS代码的方法
Jan 07 #Javascript
js数组方法reduce经典用法代码分享
Jan 07 #Javascript
javascript中的replace函数(带注释demo)
Jan 07 #Javascript
基于JavaScript实现简单的音频播放功能
Jan 07 #Javascript
js实现复制功能(多种方法集合)
Jan 06 #Javascript
You might like
理解php原理的opcodes(操作码)
2010/10/26 PHP
php设计模式 Facade(外观模式)
2011/06/26 PHP
PHP查询MySQL大量数据的时候内存占用分析
2011/07/22 PHP
php中Session的生成机制、回收机制和存储机制探究
2014/08/19 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
2016/08/01 PHP
让Laravel API永远返回JSON格式响应的方法示例
2018/09/05 PHP
封装的原生javascript弹出层代码
2010/09/24 Javascript
jsp网页搜索结果中实现选中一行使其高亮
2014/02/17 Javascript
JS+CSS实现仿新浪微博搜索框的方法
2015/02/24 Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
2015/10/26 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
2015/12/08 Javascript
JavaScript的new date等日期函数在safari中遇到的坑
2016/10/24 Javascript
原生js仿淘宝网商品放大镜效果
2017/02/28 Javascript
深入浅析Vue不同场景下组件间的数据交流
2017/08/15 Javascript
React如何利用相对于根目录进行引用组件详解
2017/10/09 Javascript
JS实现的计数排序与基数排序算法示例
2017/12/04 Javascript
JS实现动态生成html table表格的方法分析
2018/07/11 Javascript
JavaScript模板引擎实现原理实例详解
2018/12/14 Javascript
详解JavaScript栈内存与堆内存
2019/04/04 Javascript
vue-cli项目使用mock数据的方法(借助express)
2019/04/15 Javascript
详解Python中最难理解的点-装饰器
2017/04/03 Python
基于Python Numpy的数组array和矩阵matrix详解
2018/04/04 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
2020/11/25 Python
pandas按照列的值排序(某一列或者多列)
2020/12/13 Python
用css3制作纸张效果(外翻卷角)
2013/02/01 HTML / CSS
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
美国领先的个性化礼品商城:Personalization Mall
2019/07/27 全球购物
Servlet方面面试题
2016/09/28 面试题
护士实习生自我鉴定范文
2013/12/10 职场文书
公务员更新知识培训实施方案
2014/03/31 职场文书
水利水电专业自荐信
2014/07/08 职场文书
党员志愿者活动方案
2014/08/28 职场文书
2015年小学英语教师工作总结
2015/05/12 职场文书
运动会宣传稿50字
2015/07/23 职场文书
Python利用capstone实现反汇编
2022/04/06 Python
关于windows server 2012 DC 环境 重启后蓝屏代码:0xc00002e2的问题
2022/05/25 Servers