npm 包 bsk-request-manager 使用教程

阅读时长 9 分钟读完

概述

bsk-request-manager 是一个基于 Axios 的 npm 包,主要用于管理前端项目中经常用到的网络请求。它的特点是可以预处理请求参数,统一处理响应结果,并提供了多种自定义的拦截器和响应处理方式。在多人协作或者大型前端项目中使用 bsk-request-manager 可以帮助降低代码耦合度和提高代码复用性。

安装

在项目中使用 npm 安装 bsk-request-manager,可以通过如下命令进行安装:

或者使用 yarn 进行安装:

使用

在项目中使用 bsk-request-manager 也很容易,只需要在需要发送请求的地方导入 bsk-request-manager,配置请求参数即可。

Vue 项目中,我们可以在 Vue.prototype 上挂载一些方法,方便我们在组件中直接使用。我们可以在 main.js 文件中编写以下代码:

这样就可以在组件中使用 $request 方法了,例如:

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

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

上面的代码中,我们向 /login 接口发送了一个 POST 请求,并携带了 usernamepassword 两个参数。当请求成功时,我们会在控制台中输出响应数据,否则会输出错误信息。

配置

bsk-request-manager 提供了多种配置选项,可以根据实际情况进行自定义配置。我们可以通过以下代码进行配置:

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

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

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

baseURL

baseURLAPI 基础路径,可以减少代码中的重复代码。例如,我们如果发起 /user 接口的请求,我们可以在配置中将 baseURL 设置为 https://api.example.com,那么请求的完整路径就是 https://api.example.com/user

timeout

timeout 是请求超时时间,单位为毫秒。当请求时间超过指定的超时时间时,请求会被中断并抛出一个错误。

headers

headers 是请求头配置。可以配置常用的请求头,例如 Content-TypeAuthorization 等等。注意,XHR 请求中的 Content-Type 默认为 application/x-www-form-urlencoded,如果需要使用 application/json 或者其他格式,需要设置该请求头。

interceptors

bsk-request-manager 提供了请求拦截器和响应拦截器。请求拦截器可以在请求发送前进行预处理,响应拦截器可以在响应返回后进行处理。在拦截器中,我们可以对请求或响应进行加工,例如设置请求头、调用通知弹窗等等。以下是拦截器的用法。

对于请求拦截器,我们可以这样写:

对于响应拦截器,我们可以这样写:

transformResponse

transformResponse 是响应拦截器中的一个函数,它可以将原始响应数据进行转换,例如将 JSON 字符串转换为 JavaScript 对象等等。

validateStatus

validateStatus 是响应拦截器中的一个函数,它可以验证响应码是否符合要求。默认情况下,只有响应码为 >= 200 && < 300 时,请求才会被认为是成功的。例如我们可以使用以下代码进行自定义验证函数:

请求方法

bsk-request-manager 提供了常用的请求方法,例如 getpostputdelete 等等。这些方法的使用方法基本相同,都是传入请求参数,然后返回一个 Promise,例如:

get 请求时,我们可以通过 { params: { id: 100 } } 的形式传入查询参数;在 post 请求时,我们可以通过传入一个对象的方式,将请求参数传给后端。如果需要传递 FormData,可以使用 FormData 对象的方式进行传递:

完整示例

最后,我们来看一个完整的使用示例:

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

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

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

在组件中使用:

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

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

总结

bsk-request-manager 是一个非常实用的前端网络请求包,可以帮助我们统一管理和处理前端项目中的网络请求,在多人协作或者大型前端项目中,可以帮助我们提高代码复用性和降低代码耦合度。在使用时,我们需要根据实际情况进行自定义配置和使用。

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

纠错
反馈