npm 包 @svgr/babel-plugin-svg-dynamic-title 使用教程

简介

在网页开发过程中,使用 SVG 图片是很常见的。而在这些 SVG 图片中,一般都包含了一些元数据,如图形的标题、作者、描述等。但是,当我们使用这些 SVG 图片时,这些元数据一般是不会显示的,而只有当我们手动加入一些 JavaScript 或 CSS 代码才能让这些元数据得到显示。而这时,就可以使用 @svgr/babel-plugin-svg-dynamic-title 这个 npm 包。

@svgr/babel-plugin-svg-dynamic-title 是一个能够自动为 SVG 图片元数据生成对应的 JavaScript 代码的工具。通过这个工具,我们可以轻松地为 SVG 图片加上标题、作者、描述等元数据,让网页更加美观和易于理解。

安装

@svgr/babel-plugin-svg-dynamic-title 可以通过 npm 安装:

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

使用方法

配置

安装完成后,我们需要将 @svgr/babel-plugin-svg-dynamic-title 添加到项目的 Babel 配置文件中。例如,在 .babelrc 文件中添加以下配置:

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

示例代码

假设我们有一个 SVG 图片文件 circle.svg,它的内容如下:

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

如果我们想要将标题和描述显示在网页上,我们可以使用以下代码:

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

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

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

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

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

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

这段代码会将 SVG 文件内容插入到页面中,并使用 JavaScript 代码,将标题和描述显示在页面的 title 元素和一个新建的 div 元素中。

但是,显然这样的代码不够简洁优雅。因此,我们可以使用 @svgr/babel-plugin-svg-dynamic-title,使用它可以自动地将元数据转化为 JavaScript 代码,从而让我们不用手动写这些 JavaScript 代码。

以 webpack 为例,我们可以使用以下代码(注意需要安装 babel-loader 和 svg-inline-loader 来分别处理 JavaScript 和 SVG 文件):

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

这样,我们就可以使用以下代码来加载 SVG 图片,并自动显示标题和描述了:

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

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

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

在这段代码中,我们使用了 import Circle from "./circle.svg" 来加载 SVG 图片。这样,Circle 变量就包含了图像的 JavaScript 代码(@svgr/babel-plugin-svg-dynamic-title 自动生成的代码),其中包括了图像的标题和描述。我们可以直接使用 Circle.title 和 Circle.desc 来获取这些元数据,从而不用再手动写 JavaScript 代码了。

总结

@svgr/babel-plugin-svg-dynamic-title 是一个非常实用的工具,它能够自动为 SVG 图片元数据生成对应的 JavaScript 代码。使用它,可以让我们不用手动写 JavaScript 代码,而直接使用图像的元数据,从而让网页开发变得更加方便和简单。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/svgr-babel-plugin-svg-dynamic-title


猜你喜欢

  • npm 包 @best/builder 使用教程

    前言 在前端开发中,构建工具是一个不可避免的话题。构建工具帮助我们将源代码转化为可执行的应用程序,优化代码、压缩文件并进行打包,因此构建工具是提高前端效率和项目质量的必要工具。

    4 年前
  • npm 包 @best/api-db 使用教程

    介绍 在前端开发中,我们经常需要使用到数据库相关功能。但是,直接操作数据库需要非常复杂的代码,并且容易出现安全问题。这时,就可以使用 @best/api-db 这个 npm 包来解决这些问题。

    4 年前
  • npm 包 @best/analyzer 使用教程

    在前端开发中,我们经常需要对代码进行性能分析,找出瓶颈并尝试优化。而 npm 包 @best/analyzer 可以帮助我们快速、准确地进行性能分析。 什么是 @best/analyzer? @bes...

    4 年前
  • npm 包 posthtmlify 使用教程

    前言 作为前端工程师,我们每天接触的大量代码中,都会涉及到各种各样的 HTML 标签、模板等等。而在实际开发的过程中,我们常常需要对 HTML 进行一些修改、优化等操作。

    4 年前
  • npm 包 posthtml-minifier 使用教程

    在前端开发中,我们经常会遇到页面加载速度过慢的问题,其中 HTML 文件的体积也是一个重要的因素。为了解决这个问题,我们可以使用一些工具来压缩 HTML 文件,减少其体积。

    4 年前
  • npm 包 @choojs/findup 使用教程

    在前端开发过程中,我们常常需要查找当前目录或其父目录中是否存在某个文件或文件夹。这时我们可以使用 npm 包 @choojs/findup 来实现这个功能。@choojs/findup 是一个轻量级的...

    4 年前
  • npm 包 socket-pair 使用教程

    介绍 socket-pair 是一个 Node.js 的 npm 包,主要用于创建一对互相连接的 socket,也就是说,一个 socket 可以通过另一个 socket 直接与它通信,而无需任何网络...

    4 年前
  • npm 包 sni 使用教程

    介绍 sni 是一个 npm 包,可以用于解析 TLS/SSL 握手时的 Server Name Indication(SNI)。SNI 扩展允许客户端在建立 TLS 连接时指定服务器名,以便在支持多...

    4 年前
  • npm 包 serve-tpl-attachment 使用教程

    在前端开发中,我们通常需要使用后端渲染的视图文件,常规的做法是将视图文件存放于后端的模板引擎中,然后由后端将数据插入到模板中最终返回给前端。但是在某些情况下,我们希望前端也能够处理渲染视图的任务,这样...

    4 年前
  • npm 包 sclient 使用教程

    简介 sclient 是一个专门为浏览器端打造的网络请求库,它可以供我们使用 HTTP、Websocket 等协议请求数据,而且使用起来比较简单,接口清晰易用,可以大大提升我们开发中的效率与体验。

    4 年前
  • npm 包 recase 使用教程

    在前端开发中,我们经常会遇到需要转换字符串大小写的场景。这时候,一个名为 recase 的 npm 包就可以帮助我们轻松地实现字符串大小写转换。本文将为大家详细讲解 recase 包的使用方法,并提供...

    4 年前
  • npm 包 proxy-packer 使用教程

    在前端开发中,使用第三方库是很常见的事情。而使用 npm 包管理器则是非常普及的选择。proxy-packer 是一个 npm 包,它允许你使用一个代理服务器来打包你的应用程序。

    4 年前
  • npm包 terminal-forms.js 使用教程

    在前端开发过程中,表单是非常常见的一个元素。有时候我们需要在命令行下使用表单来进行输入输出,这时就需要用到terminal-forms.js这个npm包了。这篇文章将介绍terminal-forms....

    4 年前
  • npm 包 rasha 使用教程

    前言 在前端开发中,加密操作是十分常见的技术,而 RSA 加密是其中一种安全性极高的加密方式。其中,rasha 是一个使用 Node.js 和 npm 创建的纯 JavaScript RSA 加密和解...

    4 年前
  • npm 包 eckles 使用教程

    在前端开发中,我们经常会使用到各种各样的 npm 包。其中,eckles 是一个非常优秀的用于检测页面的垂直水平线的 npm 包。本文将详细介绍如何使用 eckles 以及其相关配置。

    4 年前
  • NPM 包 rsa-compat 使用教程

    RSA 是一种非对称加密算法,应用广泛,尤其在传输信息时保证信息的安全性方面有很大的作用。RSA 加密算法早在 1977 年就被初步设计出来,随着互联网的发展和安全性的日益重视,RSA 加密算法在网络...

    4 年前
  • npm 包 monotonic-timestamp-base36 使用教程

    前言 在前端开发中,时间戳是一个非常常见的概念。在一些业务场景中,需要对时间戳进行排序和比较。但是,由于时间戳是一个递增的数字,我们在进行排序时经常会遇到精度丢失的问题。

    4 年前
  • npm 包 express-async-handler 使用教程

    在 Node.js 的 Web 应用开发中,我们经常需要使用 Express 框架以及 async/await 进行异步编程。而在异步编程中,我们需要经常处理 Promise 对象的错误。

    4 年前
  • npm 包 is-http-url 使用教程

    简介 在前端开发中,我们经常需要判断一个 URL 是否为 HTTP 协议的地址,对于一些非 https 协议的链接,我们可能需要对它们进行特殊的处理。此时,一个名为 is-http-url 的 npm...

    4 年前
  • npm 包 is-domain-name 使用教程

    随着互联网的普及,域名已经成为了一个非常重要的概念,而在前端开发中,判断一个字符串是否为有效的域名也是经常出现的场景。is-domain-name 是一个可以检查字符串是否为有效的域名的 npm 包,...

    4 年前

相关推荐

    暂无文章