mock.js的使用
在做前端开发时,当后端的接口还未完成,前端为了不影响工作效率,需要手动模拟后端接口,可以使用mock.js进行模拟。
mock.js可以生成随机数据并且拦截Ajax的请求。

它具有以下优点:

使用示例:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
</body>
<script src="https://cdn.bootcdn.net/ajax/libs/Mock.js/1.0.1-beta3/mock-min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script type="text/javascript">
const Random = Mock.Random
const produceNewsData = function() {
let articles = []
for (let i = 0; i < 100; i++) {
let newArticleObject = {
title: Random.csentence(5, 30), // Random.csentence( min, max )
author_name: Random.cname(), // Random.cname() 随机生成一个常见的中文姓名
date: Random.date() + ' ' + Random.time() // Random.date()指示生成的日期字符串的格式,默认为yyyy-MM-dd;Random.time() 返回一个随机的时间字符串
}
articles.push(newArticleObject)
}
return {
articles: articles
}
}
Mock.mock('myRequestAddress', 'post', produceNewsData)
$.ajax({
type: 'POST',
url: 'myRequestAddress',
success: function(data){
console.log(data)
},
error: function(){
console.log("发送失败")
}
})
</script>
</html>
代码执行结果为:

也可以通过npm导入mock.js。
生成姓名:
const Random = Mock.Random
Random.cname()
生成性别:
Mock.mock({ "sex|1":true }).sex?'男':'女'
生成年龄:
Mock.mock({ "number|1-100": 1 }).number
生成手机号:
const phonePrefix = ['132', '135', '189'] const index = Math.floor(Math.random() * phonePrefix.length) var phone = phonePrefix[index] + Mock.mock(/\d{8}/)
生成随机数:
Mock.mock({ "number|1-300": 100 }).number
生成身份证号:
const Random = Mock.Random
Random.id()

浙公网安备 33010602011771号