前期准备
- 新建文件夹名为 mock-demo
- 进入到该文件夹,初始化 npm环境(npm init -y)
- 下载 mock (npm install mock)
- 创建 main.js文件
上手
- 基本案例
let Mock = require('mockjs');
let Random = Mock.Random;
// 从数据模板中取数据
Random.extend({
constellation: function(date) {
let constellations = ['白羊座', '金牛座', '双子座', '巨蟹座', '狮子座', '处女座', '天秤座', '天蝎座', '射手座', '摩羯座', '水瓶座', '双鱼座'];
return this.pick(constellations);
}
});
// 生成用户基本信息
let userList = Mock.mock({
'userInfo': {
// 身份证号
'id': Random.id(),
// 中文名
'ch_name': Random.cfirst() + Random.clast(),
// 英文名
'en_name': Random.first() + Random.last(),
// 星座
'constellation': Random.constellation(),
// 生日
'birthday': Random.date('yyyy-MM-dd'),
// 头像
'avatar': Random.image(),
// 英文介绍
'en_introduce': Random.paragraph(1,2),
// 中文介绍
'ch_introduce': Random.cparagraph(1,2),
// 个人主页url
'personal_web': Random.url(),
// 个人 ip 地址
'ip': Random.ip(),
// 邮箱
'email': Random.email(),
// 地址
'address': Random.city(true),
// 邮政编码
'zip': Random.zip()
}
})
console.log(userList);
- 启动 node main.js
userInfo: {
ch_name: '阎桂英',
en_name: 'JoseGarcia',
constellation: '狮子座',
birthday: '2002-01-05',
avatar: 'http://dummyimage.com/720x300',
en_introduce: 'Lqiqkcd ocqg tgiy wmkgidoe rdqtcx jyirc mtt eobbwzdgf icuhqe veijtvunzy tcjw eml qqsnquwl djgc gyh xkidrfn. Kentihoif jdkshyv ehbhp sxlpinj xmgljphyl xscskly vrcbujn gxjisg grkf jbjqi kufyjg sulcknyx rbqrckrggl.',
ch_introduce: '做单育院直确心制写调圆力何然况。',
personal_web: 'nntp://tvoupt.tr/awkdvuhjg',
ip: '77.193.127.118',
email: 'h.tumttejgb@ydosnw.gw',
address: '辽宁省 丹东市',
zip: '723875'
}
上面案例只是把 mock 可以生成的数据类型都基本罗列出来,以及自定义生成数据。但具体配置细节这里没有细讲。
如:
- 如何设置请求超时
- 如何进行接口拦截
- 具体配置数据类型的生成
- Mock 自带的API (
pick
,shuffle
等) - 生成数据后,如何对数据进行校验
这里写了也是cv,因此没有这个必要。而且文档更加详细,可以通过下面链接进行查看
https://github.com/nuysoft/Mock/wiki
很简单的,不是很难的。