自助建站模板下载,长安大学门户网站是谁给做的,seo代做,徐州手机网站mock解决的问题
开发时#xff0c;后端还没完成数据输出#xff0c;前端只好写静态模拟数据。数据太长了#xff0c;将数据写在js文件里#xff0c;完成后挨个改url。某些逻辑复杂的代码#xff0c;加入或去除模拟数据时得小心翼翼。想要尽可能还原真实的数据#xff0c…mock解决的问题
开发时后端还没完成数据输出前端只好写静态模拟数据。数据太长了将数据写在js文件里完成后挨个改url。某些逻辑复杂的代码加入或去除模拟数据时得小心翼翼。想要尽可能还原真实的数据要么编写更多代码要么手动修改模拟数据。特殊的格式例如IP,随机数图片地址需要去收集 痛痛痛 Mock横空出世来解决这个痛点没有后端咱前端也能活得很滋润
mock的优点
1、前后端分离 让前端工程师独立于后端进行开发。
2、增加测试的真实性 通过随机数据模拟各种场景。
3、开发无侵入 不需要修改既有代码就可以拦截Ajax请求返回模拟的响应数据。
4、用法简单 符合直觉的接口。
5、数据类型丰富 支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。
6、方便扩展 支持支持扩展更多数据类型支持自定义函数和正则。
7、在已有接口文档的情况下我们可以直接按照接口文档来开发将相应的字段写好在接口完成 之后只需要改变url地址即可。
8、不涉及跨域问题
简单基本使用
Mock官网
开始命令 npm init -y npm i mockjs -D
简单示例
mock返回的模拟数据都是一个对象类型 | 左右不要有空格 数据模板定义规范 ‘属性名|生成规则’属性值
let data Mock.mock({/!*随机生成一个长度为5的数组*!/list|5-10: [/!*从1开始每次1*!/{id|1: 1}]
})
console.log(data.list)生成字符串和数组
console.log(随机生成字符串)
let data Mock.mock({a: #,b|3: #,c|7-9: #
})
console.log(data)
console.log(随机生成数zi)
data Mock.mock({a: 1,b|1-100: 0
})
console.log(data)随机生成字符串
{ a: #, b: ###, c: ######### }
随机生成数组
{ a: 1, b: 91 }
boolean 、对象、数组
const Mock require(mockjs);
console.log(随机生成boolean)
let data Mock.mock({a: true,b|1-2: false
})
console.log(data)
随机生成boolean
{ a: true, b: true }console.log(随机生成对象)
const cities {zhengzhou: 郑州,hangzhou: 杭州,wuhan: 武汉,guangzhou: 广州,shanghai: 上海,beijing: 北京
}
data Mock.mock({a|2: cities,b|2-5: cities
})
console.log(data)
随机生成对象
{a: { guangzhou: 广州, hangzhou: 杭州 },b: { wuhan: 武汉, beijing: 北京, guangzhou: 广州 }
}console.log(随机生成数组)
const arr [北京, 郑州, 上海, 厦门]
data Mock.mock({a|1: [北京, 郑州, 上海, 厦门],b|2-5: [北京, 郑州, 上海, 厦门, 武汉, 南京, 杭州, 福州],c|2: arr
})
console.log(data)
随机生成数组
{a: 郑州,b: [北京, 郑州, 上海,厦门, 武汉, 南京,杭州, 福州, 北京,郑州, 上海, 厦门,武汉, 南京, 杭州,福州, 北京, 郑州,上海, 厦门, 武汉,南京, 杭州, 福州],c: [北京, 郑州,上海, 厦门,北京, 郑州,上海, 厦门]
}
随机生成字符串、布尔、自然数、整数、浮点数、range、日期、文本
/*随机生成篇*/
const Mock require(mockjs)
/*三种生成方式
* Mock.Random.xxxx()
* Mock.mock(xxx)
* Mock.mock(xxx())
* */
console.log(随机生成字符串)
// console.log(Mock.Random.string(pool?, min?, max?));
console.log(Mock.Random.string());
let data Mock.mock({a: Mock.Random.string(number, 4),b: Mock.Random.string(upper, 4),c: Mock.Random.string(lower, 4),d: Mock.Random.string(simple, 4, 10),e: Mock.Random.string(booasdfsadlean, 4, 10),f: Mock.mock(string),g: Mock.mock(string())
})
console.log(data)console.log(boolean)
/*Boolean就俩值这一个操作足以*/
console.log(Mock.Random.boolean())console.log(natural)
// natural(min?, max?)
data Mock.mock({a: Mock.Random.natural(),b: Mock.mock(natural),c: Mock.mock(natural()),d: Mock.mock(natural(10000)),e: Mock.mock(natural(100, 200)),
})
console.log(data)console.log(integer)
// integer(min?, max?)console.log(float)
// float(min?, max?, dmin?, dmax?)
data Mock.mock({a: Mock.Random.float(),b: Mock.mock(float),c: Mock.mock(float(900)),d: Mock.mock(float(900, 1000)),e: Mock.mock(float(900, 1000, 3)),f: Mock.mock(float(900, 1000, 1, 3)),
})
console.log(data)console.log(获取数字类型数组 range)
// range(start?, stop, step?)
// 默认从0开始start包括 stop不包括
data Mock.mock({a: Mock.Random.range(5),c: Mock.mock(range(0, 10)),d: Mock.mock(range(1, 100, 2)),
})
console.log(data)console.log(获取随机日期)
// date( format? )
data {a: Mock.Random.date(),b: Mock.mock(date),c: Mock.mock(date(yyyy-mm-dd)),d: Mock.mock(date(yy-mm-dd)),e: Mock.mock(date(y-m-d)),// 单个 m / d : 小于10 没有0
}
console.log(data)console.log(获取随机文本)
// paragraph, sentence, word, title, cparagraph, csentence, cword(pool?, min?, max?), ctitle
// 带有c的是随机生成中文入参除了cword 均为(min?, max?)
data Mock.mock({a: Mock.Random.paragraph(),b: Mock.mock(paragraph(3, 9))
})
console.log(data)data Mock.mock({a: Mock.Random.sentence(),b: Mock.mock(sentence(3, 9))
})
console.log(data)data Mock.mock({a: Mock.Random.word(),b: Mock.mock(word(3, 9)),c: Mock.mock(cword(爱上了的看法no暗示法, 3, 5))
})
console.log(data)data Mock.mock({a: Mock.Random.cparagraph(),b: Mock.mock(cparagraph(3, 9))
})
console.log(data)
生成图片、颜色
/**/
const Mock require(mockjs)/*获取随机图片*/
console.log(获取随机图片)
// image( size?, background?, foreground?, format?, text?)
let data Mock.mock({a: Mock.Random.image(),b: Mock.mock(image),c: Mock.mock(image()),d: Mock.Random.image(700x300, #FF6600, #ffffff, png, hello)
})
console.log(data)
获取随机图片
{a: http://dummyimage.com/728x90,b: http://dummyimage.com/88x31,c: http://dummyimage.com/300x600,d: http://dummyimage.com/700x300/FF6600/ffffff.pngtexthello
}console.log(获取随机颜色)
data Mock.mock({a: Mock.Random.color(),b: Mock.mock(color),c: Mock.mock(color())
})
console.log(data)data Mock.mock({a: Mock.Random.rgb(),b: Mock.mock(rgb),c: Mock.mock(rgb())
})
console.log(data)data Mock.mock({a: Mock.Random.rgba(),b: Mock.mock(rgba),c: Mock.mock(rgba())
})
console.log(data)
获取随机颜色
{ a: #8079f2, b: #95f279, c: #f279b8 }
{a: rgb(121, 219, 242),b: rgb(242, 229, 121),c: rgb(193, 121, 242)
}
{a: rgba(121, 242, 158, 0.66),b: rgba(242, 123, 121, 0.18),c: rgba(121, 154, 242, 0.09)
}
随机生成名字、地址、web相关
/*生成名字*/
const Mock require(mockjs)console.log(随机生成名字)
/*first: 生成英文姓
* last: 生成英文名
* cfirst: 生成中文姓
* clast: 生成中文名
* name(middle? ): 生成英文名字 middle: true、false (为true时名字是3个字)
* cname(): 生成中文名字*/
let data Mock.mock({a: Mock.Random.first(),b: Mock.mock(last),c: Mock.mock(name(true))
})
console.log(data)data Mock.mock({a: Mock.Random.cfirst(),b: Mock.mock(clast),c: Mock.mock(cname())
})
console.log(data)
随机生成名字
{ a: Angela, b: Allen, c: Eric Mark Lopez }
{ a: 袁, b: 芳, c: 丁静 }console.log(随机生成地址)
/*区域region
* 省份province
* 城市city(prefix?) 是否固定前缀也就是是否带有 省市
* 区县county(prefix?)*/
data Mock.mock({a: Mock.Random.region(),b: Mock.mock(province),c: Mock.mock(city(true)),d: Mock.mock(county(true))
})
console.log(data)
随机生成地址
{ a: 西南, b: 广西壮族自治区, c: 台湾 苗栗县, d: 西藏自治区 山南地区 琼结县 }/*web相关 生成 url(protocol?, domain?)(网址)protocol(协议)domain(域名)tld(顶级域名) email(domain?) ip zip(邮编)*/
console.log(随机生成web相关)
data Mock.mock({a: Mock.Random.url(),b: Mock.mock(url(https, www.baidu.com)),h: Mock.mock(url(https)),c: Mock.mock(protocol),d: Mock.mock(domain),e: Mock.mock(tld),f: Mock.mock(email),i: Mock.mock(email(qq.com)),g: Mock.mock(ip),k: Mock.mock(zip),
})
console.log(data)
随机生成web相关
{a: mid://jmwxcdbcrz.st/mnhs,b: https://www.baidu.com/smkdeb,h: https://kfcd.cx/zlvvdohs,c: mid,d: fkxfnotusd.museum,e: bh,f: s.qjkkopngbwjyojntjo.cz,i: j.sejdmqqq.com,g: 192.229.68.65,k: 767870
}
helper
helper 了解使用capitalize 首字母大写
* upper 转大写字母
* lower 转小写字母
* pick 从数组中随机选出一个
* shuttle 将数组打乱
* guid 获取一个gu id d34AdCff-Ad1e-ecAF-9929-41DA36dc4B76
* id 随机生成一个18位身份证id 140000199305223398启动本地服务
数据有了但要模拟访问和响应你模拟的数据这个时候要用到shymean/mock-server
为开发环境快速搭建koa服务器只需要一个mock模板文件即可。 脚本启动本地服务器然后匹配mock模板内的url返回对应的数据
# 全局安装
npm i shymean/mock-server -g
# 快速启动mock服务器
mock -p 9999 -f ./_mock.js
port1024-65535之间
参数说明port服务器端口号默认7654简写 -p
filemock模板文件路径默认./_mock.js简写 -f基础使用其使用方式与mockjs基本类似
Mock.mock(url, 返回的数据)
Mock.mock(url, method, 返回的数据)简单示例
// _mock.js
// 对应的rurl会被中间件拦截并返回mock数据
// ANY localhost:9999/
Mock.mock(/home, {data: [{city: Mock.mock(city(true))}],msg: hello mock,code: Mock.mock(integer(200, 300)),
})// 可以mock指定的请求方法
// POST localhost:9999/test
Mock.mock(/test, POST, {data: [],msg: hello mock,code|1-4: 1,
}) 文章转载自: http://www.morning.fpzz1.cn.gov.cn.fpzz1.cn http://www.morning.hfbtt.cn.gov.cn.hfbtt.cn http://www.morning.yzktr.cn.gov.cn.yzktr.cn http://www.morning.ykswq.cn.gov.cn.ykswq.cn http://www.morning.slnz.cn.gov.cn.slnz.cn http://www.morning.rhkmn.cn.gov.cn.rhkmn.cn http://www.morning.xfjwm.cn.gov.cn.xfjwm.cn http://www.morning.nsncq.cn.gov.cn.nsncq.cn http://www.morning.nfyc.cn.gov.cn.nfyc.cn http://www.morning.mfqmk.cn.gov.cn.mfqmk.cn http://www.morning.guanszz.com.gov.cn.guanszz.com http://www.morning.ptqds.cn.gov.cn.ptqds.cn http://www.morning.lslin.com.gov.cn.lslin.com http://www.morning.itvsee.com.gov.cn.itvsee.com http://www.morning.ntnml.cn.gov.cn.ntnml.cn http://www.morning.hous-e.com.gov.cn.hous-e.com http://www.morning.bfycr.cn.gov.cn.bfycr.cn http://www.morning.tymwx.cn.gov.cn.tymwx.cn http://www.morning.wtwhj.cn.gov.cn.wtwhj.cn http://www.morning.nsncq.cn.gov.cn.nsncq.cn http://www.morning.wwjft.cn.gov.cn.wwjft.cn http://www.morning.wrtxk.cn.gov.cn.wrtxk.cn http://www.morning.nypsz.cn.gov.cn.nypsz.cn http://www.morning.hbqfh.cn.gov.cn.hbqfh.cn http://www.morning.splkk.cn.gov.cn.splkk.cn http://www.morning.fkmyq.cn.gov.cn.fkmyq.cn http://www.morning.dnmwl.cn.gov.cn.dnmwl.cn http://www.morning.ftsmg.com.gov.cn.ftsmg.com http://www.morning.kljhr.cn.gov.cn.kljhr.cn http://www.morning.xgkxy.cn.gov.cn.xgkxy.cn http://www.morning.lffbz.cn.gov.cn.lffbz.cn http://www.morning.nwljj.cn.gov.cn.nwljj.cn http://www.morning.lclpj.cn.gov.cn.lclpj.cn http://www.morning.qnzpg.cn.gov.cn.qnzpg.cn http://www.morning.bqrd.cn.gov.cn.bqrd.cn http://www.morning.wgtnz.cn.gov.cn.wgtnz.cn http://www.morning.rnnts.cn.gov.cn.rnnts.cn http://www.morning.wdqhg.cn.gov.cn.wdqhg.cn http://www.morning.hqsnt.cn.gov.cn.hqsnt.cn http://www.morning.mpflb.cn.gov.cn.mpflb.cn http://www.morning.plfrk.cn.gov.cn.plfrk.cn http://www.morning.hnrls.cn.gov.cn.hnrls.cn http://www.morning.rsfp.cn.gov.cn.rsfp.cn http://www.morning.dmzzt.cn.gov.cn.dmzzt.cn http://www.morning.wmfh.cn.gov.cn.wmfh.cn http://www.morning.ppbqz.cn.gov.cn.ppbqz.cn http://www.morning.gmdtk.cn.gov.cn.gmdtk.cn http://www.morning.ftznb.cn.gov.cn.ftznb.cn http://www.morning.kysport1102.cn.gov.cn.kysport1102.cn http://www.morning.rnqbn.cn.gov.cn.rnqbn.cn http://www.morning.lczxm.cn.gov.cn.lczxm.cn http://www.morning.zzbwjy.cn.gov.cn.zzbwjy.cn http://www.morning.lrjtx.cn.gov.cn.lrjtx.cn http://www.morning.rylr.cn.gov.cn.rylr.cn http://www.morning.bqnhh.cn.gov.cn.bqnhh.cn http://www.morning.qmzwl.cn.gov.cn.qmzwl.cn http://www.morning.rdnpg.cn.gov.cn.rdnpg.cn http://www.morning.rnds.cn.gov.cn.rnds.cn http://www.morning.jcfqg.cn.gov.cn.jcfqg.cn http://www.morning.tpps.cn.gov.cn.tpps.cn http://www.morning.wcyr.cn.gov.cn.wcyr.cn http://www.morning.kryxk.cn.gov.cn.kryxk.cn http://www.morning.qnhcx.cn.gov.cn.qnhcx.cn http://www.morning.qsy41.cn.gov.cn.qsy41.cn http://www.morning.rzjfn.cn.gov.cn.rzjfn.cn http://www.morning.hhrpy.cn.gov.cn.hhrpy.cn http://www.morning.rszbj.cn.gov.cn.rszbj.cn http://www.morning.rkyw.cn.gov.cn.rkyw.cn http://www.morning.tntqr.cn.gov.cn.tntqr.cn http://www.morning.xlwpz.cn.gov.cn.xlwpz.cn http://www.morning.mrcpy.cn.gov.cn.mrcpy.cn http://www.morning.yknsr.cn.gov.cn.yknsr.cn http://www.morning.qtrlh.cn.gov.cn.qtrlh.cn http://www.morning.lhrcr.cn.gov.cn.lhrcr.cn http://www.morning.rftk.cn.gov.cn.rftk.cn http://www.morning.bnxnq.cn.gov.cn.bnxnq.cn http://www.morning.rwlsr.cn.gov.cn.rwlsr.cn http://www.morning.vjwkb.cn.gov.cn.vjwkb.cn http://www.morning.cwgpl.cn.gov.cn.cwgpl.cn http://www.morning.thxfn.cn.gov.cn.thxfn.cn