Node.js:如何为 Express 应用程序使用 Compress 中间件

在开发和部署现代 Web 应用程序时,网络带宽会成为一个问题。随着我们构建的应用程序越来越复杂,我们生成的 HTML、CSS、JavaScript 和图像等资源也越来越大。这将导致应用程序下载时间过长,影响用户体验。为了解决这个问题,我们可以使用压缩技术来压缩我们的资源,从而缩短加载时间并减少网络带宽的使用。

在 Node.js 中,我们可以使用 compress 中间件来实现资源压缩。在本文中,我们将介绍 Node.js 中使用 compress 中间件来为 Express 应用程序压缩资源的方法。

准备工作

在开始使用 compress 中间件之前,我们需要先安装 Express 和 compress 中间件。在终端中输入以下命令:

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

这将安装 Express 和 compress 中间件,保存到 package.json 的 dependencies 中。

配置 compress 中间件

下面是一个基本的 Express 应用程序,我们将在其中添加 compress 中间件:

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

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

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

通过添加以下代码,我们可以将 compress 中间件添加到我们的应用程序中:

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

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

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

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

在我们的应用程序中使用 app.use(compression()) 启用 compress 中间件。

配置 compress 中间件选项

我们可以在启用 compress 中间件时为其提供一些选项。以下是一些可用的选项:

  • level:压缩级别,可以是 0-9 的整数,默认值为 6。
  • threshold:启用压缩的最小字节数,默认值为 1KB。
  • filter:要压缩的内容类型数组,默认值为 ['text/html', 'text/css', 'text/javascript', 'application/json', 'application/javascript', 'application/x-javascript']

以下代码演示了如何使用这些选项:

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

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

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

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

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

在我们的应用程序中使用了 level: 9 压缩级别(最高压缩率),threshold: 1000 最小字节数(仅在超过 1KB 时启用压缩),并且使用 filter 选项来过滤掉请求头包含 x-no-compression 的请求。

结论

在本文中,我们已经了解了如何使用 Node.js 中的 compress 中间件来为 Express 应用程序压缩资源,并使用了相应的选项对其进行了配置。使用 compress 中间件可以大大缩短加载时间并减少网络带宽的使用,提高用户体验。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/673706dd317fbffedf078473