当前位置: 代码迷 >> 综合 >> Mock.js 安装 及 使用demo
  详细解决方案

Mock.js 安装 及 使用demo

热度:86   发布时间:2023-12-26 02:20:14.0

https://blog.csdn.net/SunPrincess/article/details/51163263

Mock.js 安装 及 使用demo

Mock.js官方网址: 
首页:http://mockjs.com/

1、Mock.js下载安装

  • 下载mock.js文件
  • npm安装mock模块 
    项目路径下执行命令: npm install mock

2.1、Mock.js 使用demo (方式1)

  • 文件结构,如图: 
    文件结构截图
  • 以下是文件代码:

index.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><!--mock.js 依赖jQuery和require.js-->
<script src="jquery-1.11.1.js"></script>
<script src="require.js"></script>
<!--mock-1.js是mockJs的demo文件-->
<script src="mock-1.js"></script>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

mock-1.js

// 配置 Mock 路径
require.config({paths: {mock: 'mock'}
});// 加载 Mock
require(['mock'], function(Mock) {
    /*第一部分与第二部分没有关系*//*第一部分*/// Mock.mock( template )//数据模板var data = Mock.mock({'list|1-10': [{'id|+1': 1}]});//打印到body上$('<pre>').text(JSON.stringify(data, null, 4)).appendTo('body');/*第二部分*/// Mock.mock(rurl, template)Mock.mock(/\.json/, {    //匹配.json文件'list|1-10': [{      //数据模板'id|+1': 1,'email': '@EMAIL','regexp3': /\d{5,10}/}]});$.ajax({url: 'hello.json',   //请求访问json文件,拦截hello.json的请求,返回mock数据模板中的数据dataType: 'json'}).done(function(data, status, jqXHR) {
    //获得mock数据模板中的数据,打印到body上$('<pre>').text(JSON.stringify(data, null, 4)).appendTo('body');})
});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41

2.2、Mock.js 使用demo (方式2)

  • 文件结构,可同上:
  • 以下是文件代码: 
    index.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><script src="mock.js"></script>
<!--mock-2.js是mockJs的demo文件-->
<script src="mock-2.js"></script>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

mock-2.js

Mock.mock(/\.json/, {    //匹配.json文件,可执行匹配成功的参数'list|1-10': [{      //数据模板'id|+1': 1,'email': '@EMAIL','regexp3': /\d{5,10}/}]});function sendData(url) {
    $.ajax({url: url,dataType: 'json'}).done(function(data, status, jqXHR) {
    //获得mock数据模板中的数据,打印到body上$('<pre>').text(JSON.stringify(data, null, 4)).appendTo('body');})
}
sendData("hello.json");
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

3、运行index.html

运行结果截图: 
运行结果截图

注明:

  • mock.js本质是更改了jquery、zepto等库的请求文件前缀。更改了代码的实现,可能存在影响请求的结果。 
    实际上mock.js的请求并没有被发送。
  • gulp-mock插件:请求被发送但是被拦截,不影响代码的实际实现。
  相关解决方案