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

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

热门文章

最新文章

  • 1
    当面试官再问我JS闭包时,我能答出来的都在这里了。
    49
  • 2
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    29
  • 3
    Node.js 中实现多任务下载的并发控制策略
    34
  • 4
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    26
  • 5
    【JavaScript】深入理解 let、var 和 const
    49
  • 6
    【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
    47
  • 7
    【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
    57
  • 8
    【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
    57
  • 9
    如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
    72
  • 10
    【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
    57