JS之MockJS快速入门(超详细)

简介: JS之MockJS快速入门(超详细)

什么是MockJS


在前后端分离只的开发环境中,前端同学需要等待后端同学给出接口及接口文档之后,才能继续开发。而MockJS可以让前端同学独立于后端同学进行开发,前端同学可以根据业务先梳理出接口文档并使用MockJS模拟后端接口。那么MockJS是如何模拟后端接口的呢? MockJS通过栏截特定的AJAX请求,并生成给定的数据类型的随机数,以此来模拟后端同学提供的接口。


准备工作


首先安装MockJS,安装 axios只是为了发送AJAX请求测试模拟的接口,使用其他方式如原生AJAX请求或s.ajax都是可以的,使用其他方式发送AJAX请求无需安装axios。


npm install mockjs --save
npm install axios --save


在main.js中加入使mock生效


20200929160123603.png


正式开始


MockJS有两种方式定义模拟接口返回的数据,一种是使用数据模板定义,这种方式自由度大,可以自定义各种随机的数据类型,一种是使用MockJS的Random工具类的方法定义,这种方式自由度小只能随机出MockJS提供的数据类型。


数据模板的格式为“属性名生成规则·属性值”,生成规则决定了生成的数据的属性值。 生成规则一共有7种,分别是:


'name|min-max': value
'name|count': value
'name|min-max.dmin-dmax': value
'name|min-max.dcount': value
'name|count.dmin-dmax': value
'name|count.dcount': value
'name|+step': value


20200929155423630.png


代码示例:


// 引入express, mockjs
const express = require('express');
const Mock = require('mockjs');
// 创建一个express服务器的对象
const app = express();
// 设置跨域问题
app.all("*", (req, res, next)=>{
    // 设置任何域名都可以请求我们的服务器
    res.header("Access-Control-Allow-Origin", "*");
    // 设置请求的的方式
    res.header("Access-Control-Allow-Methods", "GET,POST,PUT,DELETE");
    // 设置默认请求头和字符编码格式
    res.header("Content-type", "application/json;charset=utf-8");
    next()
})
// 创建了一个 /test 的接口,get请求形式的接口
app.get("/test", (req, res) => {
    // 调用Mock对象的mock方法来生成随机数据
    // const data = Mock.mock({
    //     "product_id|+2": 1
    // })
    Mock.Random.extend({
        status: function(){
            // 编写代码完成状态数据的设置并返回
            const arr = ["已收货", "未收货", "已付款", "未付款", "已评价"]
            return this.pick(arr)
        }
    })
    const data = Mock.mock({
        "list|5":[
            {
                // "product_id|+2": 1,
                // "name|1-3":"jack",
                // "money|1-100.2-6": 1,
                // "isPass|1":true,
                // "myDate": '@date()',
                // "name":"@cname",
                "myStatus": "@status()",
            }
        ]
    })
    res.send(data);
})
// 让我们的服务器在某个端口运行
app.listen(3000);
console.log("服务器已经运行在 http://localhost:3000")


Mock.mock template 形式


20200929155702858.png


2..png


Mock.mock function 形式


3..png


4.png


8.png


自定义宽展函数


6.png


7.png

目录
相关文章
|
6月前
|
存储 监控 JavaScript
Node.js 性能平台5分钟快速入门
首先,确保拥有阿里云账号并开通服务,以及一台可上网的服务器。然后,创建应用并记下App ID和App Secret。通过tnvm安装Node.js性能平台组件,包括alinode和agenthub,检查安装成功的方法是`which node`和`which agenthub`命令显示路径包含`.tnvm`。接着,启动agenthub,并在服务器上运行一个示例应用(demo.js),该应用模拟计算密集型任务。最后,通过阿里云控制台观察监控数据和执行诊断操作。注意,性能平台每分钟上传一次日志,可能需等待几分钟才能看到数据。详细部署指南可参考官方文档。
82 6
|
5月前
|
JavaScript 前端开发 安全
【JavaScript 】DOM操作快速入门
【JavaScript 】DOM操作快速入门
70 2
|
5月前
|
JavaScript 前端开发 Java
JavaScript快速入门
JavaScript快速入门
30 1
|
4月前
|
SQL 前端开发 JavaScript
JavaScript快速入门 有这一篇就够!
JavaScript快速入门 有这一篇就够!
|
4月前
|
存储 JavaScript 前端开发
如何快速入门使用Vue.js
如何快速入门使用Vue.js
36 0
|
5月前
|
Web App开发 存储 JavaScript
JavaScript快速入门
JavaScript快速入门
28 0
|
6月前
|
JavaScript 前端开发 Java
JavaScript 快速入门手册
JavaScript 快速入门手册
|
JavaScript
【JS】快速入门DOM
【JS】快速入门DOM
57 0
|
6月前
|
JavaScript 前端开发 Java
JavaScript 快速入门手册
JavaScript 快速入门手册
38 0
|
6月前
|
JavaScript 前端开发
node.js 快速入门
node.js 快速入门
63 0