npm 包 webpack-dev-mock 使用教程

在前端开发中,我们常常使用 webpack 进行模块打包。webpack-dev-server 是 webpack 官方提供的一个开发服务器,它可以在本地快速启动一个服务器用于开发环境的调试。

当我们需要与后台沟通时,往往需要自己模拟接口数据来完善前端开发。这时我们可以使用 mockjsjson-server 等工具模拟数据。但是每次修改接口数据都需要重新启动服务,效率较低。

因此,我们可以使用 webpack-dev-mock 来模拟接口数据且不需要重启服务。这篇文章将详细介绍 npm 包 webpack-dev-mock 的使用方法。

webpack-dev-mock 简介

webpack-dev-mock 是 webpack-dev-server 的一个插件,它可以扩展 webpack-dev-server 的 mock 功能。webpack-dev-mock 的特点是:

  • 支持本地 JSON 文件和远程接口数据的 mock。
  • 零配置:只需要在 webpack 配置中增加一个插件即可。
  • 支持动态 Mock:即可以在 webpack-dev-server 运行时动态修改 mock 数据。

安装与配置

安装

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

在 webpack 配置中增加插件:

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

在这里,WebpackDevMock 为快速启动一个 mock 服务,并支持动态修改 mock 的方法。

mock 文件集成

在项目中,我们可以将 mock 数据放在一个文件夹中,并通过配置来实现 mock 的加载。

默认情况下,webpack-dev-mock 会将 mock 目录下的所有 *.json 文件作为 mock 数据加载到内存中。如果需要定制文件路径,可以使用 configuration。

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

当 mockDir 参数被指定,webpack-dev-mock 会将指定路径下的所有 *.json 文件作为 mock 数据加载到内存中。

mock 文件示例:

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

API Mock 与 Proxy

webpack-dev-mock 同时支持 API Mock 与 Proxy。

在写 mock 之前,我们先来了解下这两者的区别:

  • API Mock 是将用户在前端模拟的数据,在无服务端支持的情况下实现的一种前后端数据沟通方式。是直接对前端进行静态文件的配置,对数据进行模拟、Mock。
  • Proxy 是将用户在前端的数据请求发送给真实的服务,然后返回数据结果,类似于正常的 AJAX 请求的方法,通过匹配 URL 规则,将前端请求通过代理转发至后台API系统。是直接通过将请求转发至系统代理层,通过代理的方式将前端的请求转发至后端的具体的API系统,整个过程和正常的 Ajax 响应没有差别。

接下来,我们来看下两种类型 mock 的作法:

API Mock

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

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

通过 api 选项进行配置,当匹配到该规则的请求 URL 时,会直接返回并结束请求。

Proxy

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

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

通过 proxy 选项进行配置,当命中规则时,会通过代理将请求转发到 http://jsonplaceholder.typicode.com

动态 Mock 修改

通过使用 webpack-dev-mock,我们可以在 mock 启动后动态修改 mock 数据,极大地提高了 mock 数据的开发效率。

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

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

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

before 方法中传入函数,函数的响应在请求收到后返回的对象中 response 属性中,可以通过 request 参数中的信息更改相应的数据。这里的 res.json(mockData) 键名需要对应 mock 数据中的键名。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5eedaaf9b5cbfe1ea0610609


猜你喜欢

  • npm 包 @aws-sdk/invalid-dependency 使用教程

    简介 在前端开发过程中,我们经常会使用到 AWS 的服务。而在使用 AWS SDK 连接 AWS 服务时,可能会遇到一些 invalid-dependency 错误。

    4 年前
  • npm 包 @aws-sdk/is-node 使用教程

    简介 Amazon Web Services(AWS)是目前世界规模最大的云计算平台之一。AWS 提供了多种不同的服务,其中包括 AWS SDK for JavaScript,这是与 AWS 云服务进...

    4 年前
  • npm包 @aws-sdk/util-base64-universal使用教程

    前言 AWS SDK for JavaScript是一个广泛使用的 JavaScript 文件库,它支持浏览器和node.js环境中的Amazon Web Services(AWS)服务。

    4 年前
  • npm 包 @aws-sdk/md5-js 使用教程

    在前端开发中,处理字符串的需求很常见。在实现一些加密算法时,常常需要用到 MD5 算法。而在 JavaScript 中,我们可以通过 npm 包 @aws-sdk/md5-js 来使用 MD5 算法。

    4 年前
  • npm 包 @aws-sdk/middleware-apply-body-checksum 使用教程

    AWS(Amazon Web Service)是目前全球最大的云计算服务提供商之一,其提供了多种开发者工具和服务,以便在 AWS 平台上构建高效、可扩展和安全的应用程序。

    4 年前
  • npm包@aws-sdk/middleware-bucket-endpoint的使用教程

    前言 AWS(Amazon Web Services)是目前全球领先的云计算服务提供商,云存储服务S3(Simple Storage Service)是其最为重要的产品之一。

    4 年前
  • npm 包 @aws-sdk/middleware-host-header 使用教程

    随着云计算的发展,Amazon Web Services (AWS) 的使用率也越来越高。AWS 提供了丰富的服务以及各类客户端库,其中 @aws-sdk/middleware-host-header...

    4 年前
  • npm 包 @aws-sdk/middleware-location-constraint 使用教程

    简介 @aws-sdk/middleware-location-constraint 是一个用于 AWS SDK 的中间件,它可以自动维护 S3 存储桶的位置限制,确保您的数据存储在您选择的地理位置。

    4 年前
  • npm 包 @aws-sdk/middleware-retry 使用教程

    前言 在开发前端应用程序时,可能会频繁地与后端服务进行交互,其中必不可少的就是调用 AWS 服务。然而,由于网络问题等原因,API 调用时可能会出现失败,这时候就需要对 AWS SDK 进行重试。

    4 年前
  • NPM包@aws-sdk/middleware-sdk-s3使用教程

    AWS提供了许多API和服务,包括S3服务(Amazon Simple Storage Service)。@aws-sdk/middleware-sdk-s3是一个npm包,为AWS SDK的S3客户...

    4 年前
  • npm 包 @aws-sdk/middleware-serde 使用教程

    介绍 在 AWS SDK for JavaScript 中,@aws-sdk/middleware-serde 是一款用于序列化和反序列化 JavaScript 对象和 AWS 数据格式(如 JSON...

    4 年前
  • npm 包 @aws-sdk/middleware-signing 使用教程

    介绍 在云计算领域,AWS(Amazon Web Services)是著名的云服务提供商之一。开发者可以使用 AWS 提供的 AWS SDK 开发应用程序,通过 AWS 服务提供的 API 获取云计算...

    4 年前
  • npm 包 @aws-sdk/middleware-ssec 使用教程

    前言 AWS(Amazon Web Services)提供了很多强大的服务,如 S3(存储服务),DynamoDB(NoSQL 数据库),Lambda(函数服务)等等。

    4 年前
  • npm 包 @aws-sdk/middleware-user-agent 使用教程

    前言 AWS(Amazon Web Services)是全球最大的云计算平台之一,在做 AWS 开发时,经常需要用到 SDK。然而,AWS SDK 中的不同模块和服务划分有些混乱,特别是在进行跨服务和...

    4 年前
  • npm 包 @aws-sdk/protocol-http 使用教程

    简介 @aws-sdk/protocol-http 是操作 AWS 服务中 HTTP 请求和响应传输的的协议层的一个 npm 包。它可以帮助开发者更方便的使用 AWS 的服务。

    4 年前
  • npm 包 @aws-sdk/smithy-client 使用教程

    前言 在 AWS 官网介绍的 AWS SDK for Javascript 中,提供了很多客户端库,可以满足不同场景的需求。本文介绍 @aws-sdk/smithy-client,这个客户端库提供了一...

    4 年前
  • npm 包 @aws-sdk/stream-collector-browser 的使用教程

    前言 在前端开发中,我们经常需要上传和下载文件,也需要解析和操作文件流。AWS 提供了一个 "@aws-sdk/stream-collector-browser" 的 npm 包,用于在浏览器中收集和...

    4 年前
  • npm 包 @aws-sdk/url-parser-browser 使用教程

    前言 AWS SDK(Amazon Web Services Software Development Kit)是 AWS 提供的一套开发工具包,为开发者提供了 AWS 云服务的 API 和其他功能。

    4 年前
  • npm 包 @aws-sdk/util-base64-browser 使用教程

    前言 在前端开发中,我们经常需要对数据进行编码和解码。其中,Base64 是一种常用的编码方式。Base64 编码可用于在文本中传输二进制数据,而不会导致信息损坏。

    4 年前
  • npm 包 @aws-sdk/util-body-length-browser 使用教程

    在前端开发中,我们经常需要向后端服务发送请求。而 AWS 的服务也是很常用的云服务平台。@aws-sdk/util-body-length-browser 是一个在前端开发中常用的 npm 包。

    4 年前

相关推荐

    暂无文章