npm包Mock.js使用教程

阅读时长 4 分钟读完

简介

Mock.js 是一个用于生成随机数据的模拟数据生成器,可用于前后端分离开发中测试接口、模拟数据等。它是一个npm包,可以通过npm安装,目前已经在Github上有超过1万个stars。

安装

在命令行中输入以下命令进行安装:

使用方法

常规语法

Mock.js提供了丰富的API来生成各种类型的数据:

  • Mock.mock():根据数据模板生成模拟数据。
  • Mock.Random:各种数据类型的生成函数。
  • Mock.setup():配置拦截 Ajax 请求时的行为。
  • Mock.toJSONSchema():把 Mock.js 风格的数据模板转换成 JSON Schema。
  • Mock.valid():校验真实数据是否与数据模板匹配。

下面是一个常规的示例:

-- -------------------- ---- -------
----- ---- - ------------------

----- ---- - -----------
  ------------ --
    -------- --
    ------- ---------
    ------------ ---
    -------- ----- -----
    ----------- ----------------------
    -------- ---------
    -------- --------------------
    ---------- --------------
    --------------- --------------
  --
---

-------------------------------- ----- ----

输出结果如下:

-- -------------------- ---- -------
-
  ------- -
    -
      ----- --
      ------- ------
      ------ ---
      ------ ----
      ----------- -------------
      -------- -----------------------
      -------- --------------
      ---------- ---- --- -----
      --------------- -----------------------------------------
    --
    -- ---
  -
-

以上示例中,数据模板定义了一个list数组,其中的每一项都包含了id、name、age、sex、birthday、email、phone、address和introduction属性。Mock.js 提供的API生成了符合这个模板的随机数据。

拦截Ajax请求

Mock.js 可以拦截AJAX请求并返回模拟数据。示例如下:

-- -------------------- ---- -------
----- ---- - ------------------

----------------------- ------ -
  ---------- --
    -------- --
    ------- ---------
    ------------ ---
    -------- ----- -----
    ----------- ----------------------
    -------- ---------
    -------- --------------------
    ---------- --------------
    --------------- --------------
  --
---

以上示例定义了一个get请求,并返回一个包含10个用户信息的数组。当我们在前端发起一个GET请求时,Mock.js会拦截这个请求并返回这个模拟数据。

自定义扩展

Mock.js提供了自定义扩展的方法,可以方便地扩展新的数据类型或者生成规则。下面是一个自定义扩展示例:

-- -------------------- ---- -------
----- ---- - ------------------

--------------------
  ------ ---------- -
    ----- ------ - --------- --------- ----------
    ------ ------------------
  -
---

----- ---- - -----------
  ---------- ----------
---

------------------------ -- -------- -- ------- -- --------

以上示例中,我们扩展了一个fruit数据类型,并定义了它的生成规则:从一个包含三种水果

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/32704

纠错
反馈