使用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 禁止复制网页
Jun 11 Javascript
JS 有名函数表达式全面解析
Mar 19 Javascript
Prototype源码浅析 String部分(四)之补充
Jan 16 Javascript
node.js中的fs.writeFileSync方法使用说明
Dec 14 Javascript
Bootstrap网格系统详解
Apr 26 Javascript
jquery删除table当前行的实例代码
Oct 07 Javascript
Vue基于NUXT的SSR详解
Oct 24 Javascript
vue使用better-scroll实现下拉刷新、上拉加载
Nov 23 Javascript
小程序实现搜索界面 小程序实现推荐搜索列表效果
May 18 Javascript
vue中实现回车键登录功能
Feb 19 Javascript
js实现动态时钟
Mar 12 Javascript
谈谈node.js中的模块系统
Sep 01 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
javascript基础知识大集锦(一) 推荐收藏
2011/01/13 Javascript
从零开始学习jQuery (八) 插播:jQuery实施方案
2011/02/23 Javascript
js加减乘除丢失精度问题解决方法
2014/05/16 Javascript
jQuery延迟加载图片插件Lazy Load使用指南
2015/03/25 Javascript
javascript实现控制div颜色
2015/07/07 Javascript
javascript实现checkbox复选框实例代码
2016/01/10 Javascript
使用jQuery.Qrcode插件在客户端动态生成二维码并添加自定义Logo
2016/09/01 Javascript
js实现固定宽高滑动轮播图效果
2017/01/13 Javascript
JS中图片压缩的方法小结
2017/11/14 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
浅谈VUE单页应用首屏加载速度优化方案
2018/08/28 Javascript
vue实现可视化可拖放的自定义表单的示例代码
2019/03/20 Javascript
nodejs开发一个最简单的web服务器实例讲解
2020/01/02 NodeJs
Vue如何实现验证码输入交互
2020/12/07 Vue.js
[51:36]EG vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
详解Python中的__new__、__init__、__call__三个特殊方法
2016/06/02 Python
Python中对数组集进行按行打乱shuffle的方法
2018/11/08 Python
基于numpy中数组元素的切片复制方法
2018/11/15 Python
使用Python实现微信提醒备忘录功能
2018/12/04 Python
Python mutiprocessing多线程池pool操作示例
2019/01/30 Python
python 计算一个字符串中所有数字的和实例
2019/06/11 Python
Python 删除List元素的三种方法remove、pop、del
2020/11/16 Python
Python导入父文件夹中模块并读取当前文件夹内的资源
2020/11/19 Python
Python爬虫之Selenium设置元素等待的方法
2020/12/04 Python
CSS3标注引用的出处和来源的方法
2020/02/25 HTML / CSS
俄罗斯苹果优质经销商商店:iPort
2020/05/27 全球购物
入党积极分子思想汇报
2014/01/02 职场文书
小学红领巾中秋节广播稿
2014/01/13 职场文书
高一化学教学反思
2014/02/05 职场文书
会计试用期自我评价怎么写
2014/09/18 职场文书
2014物价局民主生活会对照检查材料思想汇报
2014/09/24 职场文书
项目经理助理岗位职责
2015/04/13 职场文书
2016廉政教育学习心得体会
2016/01/25 职场文书
PyTorch 如何自动计算梯度
2021/05/23 Python
Vue.js中v-bind指令的用法介绍
2022/03/13 Vue.js
mysql5.5中文乱码问题解决的有用方法
2022/05/30 MySQL