npm 包 firs 使用教程

什么是 firs?

firs (Fast Image Resize and Serve) 是一个快速的、可靠的、高性能的图像缩放和响应式图片服务器。它使用 Node.js 构建,并且是一个开源的 npm 包,你可以随时在你的项目中使用它。

使用 firs,你可以快速处理大量的图像,将它们缩放到合适的大小,并提供高性能响应式图片服务。firs 还提供了多种缩放模式供你选择,包括普通缩放、裁剪、填充等。

安装 firs

在你的项目目录下安装 firs,你需要通过 npm 安装 firs 模块。

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

使用 firs

初始化 firs

在你的项目中,你需要引用 firs 模块,并进行初始化操作。

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

在初始化时,你需要向 firs 提供一些参数:

  • root 表示你将会提供的基础图片路径,你需要在你的容器上面部署图片或使用 CDN 来提供它们;
  • cache 表示 firs 将会缓存的图片路径,在这里你可以使用任何可用的路径,但需要注意的是,你的程序需要对该路径进行写操作;
  • headers 表示 firs 将会设置的响应头;
  • formats 表示 firs 支持的处理图片的格式;
  • timeout 表示请求超时时间;
  • debug 表示开启或关闭 firs 的调试模式。

处理图片

通过 firs,你可以对图片进行多种缩放、裁剪和填充等操作。下面提供一个示例代码,你可以进行修改和调整以适应你的项目。

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

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

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

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

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

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

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

---

在上述代码中,我们在 app 的 /image/:width/:height/:mode/:url 上注册了一个路由处理器。它接收了四个参数:

  • width 表示缩放后的宽度;
  • height 表示缩放后的高度;
  • mode 表示缩放模式;
  • url 表示图片的地址。

下面分别对这些参数进行讲解:

  • mode 参数可以选用的值有:

    • fill:缩放后会刚好填充画布,没有任何部分裁剪。
    • fit:缩放后会尽可能地完整地存储画布,可能会留有空白。
    • crop:缩放后会按照指定的长宽比来进行裁剪,可能导致某些部分被裁剪。
  • 对于 widthheight 参数,你可以传递一个 auto 的值,这样 firs 将会根据图片的长宽比来计算出缩放后的 width 和 height。

  • url 表示图片的地址,在 firs 中,你需要将图片地址转化为基于 root 参数的相对路径,这样 firs 才能够识别图片的路径。

在处理完成后,我们通过设置响应头 Content-Type 来告诉客户端图片的 MIME 类型,并发送缩放后的图片 buffer 值到客户端。

总结

在本文中,我们详细介绍了 firs 处理图片的相关操作,并提供了完整的代码示例,以帮助你更好地了解和使用 firs。firs 是一个高性能、可靠且易于使用的 npm 包,可以为你的项目提供快速、高效的响应式图片服务。

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


猜你喜欢

  • npm包openui5-flatpickr 使用教程

    什么是openui5-flatpickr? openui5-flatpickr是一个基于UI5的日历选择器,使用了flatpickr插件进行开发,它可以帮助我们更好的处理日期选择和时间选择,使得表单填...

    2 年前
  • npm 包 @fugazi/connector.mongo 使用教程

    简介 本文将详细介绍 npm 包 @fugazi/connector.mongo 的使用方法。@fugazi/connector.mongo 是一个使用 Node.js 与 MongoDB 进行数据交...

    2 年前
  • npm 包 @fugazi/proxify 使用教程

    在日常的前端开发中,我们经常需要对数据进行处理,而使用代理是常见的一种处理方式。@fugazi/proxify 就是一个用于创建代理的 npm 包,本文将为大家介绍该 npm 包的使用教程。

    2 年前
  • npm 包 list-range 使用教程

    在 JavaScript 开发中,我们经常会遇到需要对列表进行处理的情况。列表中的元素数量多少不一,我们需要对其中的一部分进行选择、筛选、排除等操作。这时候,一个非常实用的工具是 npm 包 list...

    2 年前
  • npm 包 albion-api 使用教程

    简介 albion-api 是基于 Node.js 的 npm 包,提供了 Albion Online 游戏相关的 API,方便开发者获取游戏数据。本教程将详细介绍 albion-api 的使用方法,...

    2 年前
  • npm 包 preact-helmet 使用教程

    在前端开发中,我们经常需要对网站的头部标签进行定制,例如添加 meta 标签、修改标题、加载自定义字体等等。这个时候,我们可以使用一个叫做 Helmet 的库来完成这些定制操作。

    2 年前
  • npm 包 dev-ports.js 使用教程

    在前端开发中,经常会遇到需要在本地启动多个不同端口号的服务,例如同时启动前端网站、后端 API 服务以及 WebSocket 服务等。而在默认情况下,同一台计算机上使用的端口号是唯一的,如果不希望手动...

    2 年前
  • npm 包 dollar-js-ajax 使用教程

    介绍 dollar-js-ajax 是一款基于 jQuery 异步请求的 npm 包,提供了简单易用的 HTTP 请求 API,可供前端工程师快速实现数据请求、数据传递等功能。

    2 年前
  • npm 包 vikings 使用教程

    介绍 vikings 是一个 JavaScript 工具库,可以帮助前端开发者更快更方便地开发 Web 应用。它包含一系列的常用功能和工具,如事件处理、数组操作、日期处理、Promise 封装等。

    2 年前
  • npm 包 graphql-tokenizer 使用教程

    前言 GraphQL 是一种用于构建 API 的查询语言。它具有丰富的类型系统、动态查询、强类型检验等特点。与传统的 RESTful API 不同,GraphQL API 的设计原则是 client-...

    2 年前
  • npm 包 leverage-plugin-http 使用教程

    在前端开发过程中,使用 npm 包可以为我们的项目提供更多的便利和功能。leverage-plugin-http 包就是其中一种可以提高开发效率的 npm 包。本文将详细介绍 leverage-plu...

    2 年前
  • npm 包 react-xx-autocomplete 使用教程

    随着前端技术的不断发展,越来越多的开发者开始使用 react 框架来构建用户界面。而 react-xx-autocomplete 这个 npm 包是一个用于实现自动完成功能的 react 组件库,本文...

    2 年前
  • npm 包 reverse-string-template 使用教程

    简介 在前端开发中,常常需要将字符串进行反转。而 npm 包 reverse-string-template 正是为此而生的工具。reverse-string-template 可以让你快速地将字符串...

    2 年前
  • npm 包 vuetalisk 使用教程

    简介 vuetalisk 是一款使用 Vue.js 开发的前端 UI 组件库,它由一系列常规组件以及一些定制化的组件组成,可以快速帮助开发者构建优秀的交互体验。 安装 使用 npm 安装: --- -...

    2 年前
  • npm 包 graphql-anyscalar 使用教程

    前置知识 在了解 npm 包 graphql-anyscalar 的使用方法前,需要对以下的知识点有一定的了解: GraphQL 自定义 Scalar JavaScript 的类和继承 什么是 g...

    2 年前
  • npm 包 vuetalisk-plugin-nuxt-generator 使用教程

    简介 vuetalisk-plugin-nuxt-generator 是一个基于 Nuxt.js 的静态站点生成器,通过生成静态站点可以提高网站的访问速度,同时将网站内容存储在静态文件中,也有助于 S...

    2 年前
  • npm 包 machinepack-moneywave 使用教程

    在前端开发中,使用外部库是一个常见的需求。而 npm 是目前最流行的 JavaScript 包管理器,可以方便地安装、更新和卸载依赖。这篇文章将介绍一个 npm 包 - machinepack-mon...

    2 年前
  • npm 包 jquery-tabletotal 使用教程

    前言 在前端开发中,我们常常需要对表格数据进行处理和分析,计算表格数据的和、平均数、最大值和最小值等信息是在处理表格数据中常见的操作。而 jquery-tabletotal 就是一款 npm 包,它可...

    2 年前
  • npm 包 ng2-timeline 使用教程

    ng2-timeline 是一个 Angular 前端框架下用于创建时间线(timeline)的 npm 包。它可以帮助你快速创建优雅而灵活的时间线视图来展示历史事件或其他活动。

    2 年前
  • npm 包 simple-bytebuffer.js 使用教程

    前言 在前端开发中,我们经常需要用到字节数组,以便处理二进制数据。而 simple-bytebuffer.js 是一个便捷的 npm 包,可以帮助我们更加方便地处理字节数组。

    2 年前

相关推荐

    暂无文章