npm 包 @beezyinc/dr-svg-sprites-bz 使用教程

阅读时长 6 分钟读完

在前端开发中,随着网页体验的逐渐提升,很多界面设计中大量使用 SVG 图片以及图标字体。而对于 SVG 图像使用的一个很好的解决方案便是使用 SVG sprites。其中,@beezyinc/dr-svg-sprites-bz 便是一个不错的选择。

简介

SVG sprites 可以大大减少 HTTP 请求次数,此外,SVG sprites 也能避免 SVG 图像引用的路径问题,以及在 CDN 加载时遇到的 CORS 问题。

@beezyinc/dr-svg-sprites-bz 就是一个 SVG sprites 的生成器,它可以将 SVG 图像合并为一个单独的 SVG 文件,并生成相应的 CSS 样式。你可以通过 npm 命令进行安装,使用它来使你的项目更加高效,同时代码更加整洁易读。

安装

@beezyinc/dr-svg-sprites-bz 是一款 npm 包,安装方式与常规 npm 包相同。你可以选择全局安装,也可以在项目中进行本地安装。

配置

在你的项目中,你需要提供一个配置文件 dr-svg-sprites.bzl,它会告诉@beezyinc/dr-svg-sprites-bz 如何生成 SVG sprites。

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

以上配置文件中,input 表示输入的 SVG 文件所在的路径;output.sprite 表示输出的 SVG sprites 文件名;output.style 表示输出的 CSS 样式文件名。详细配置项见官方文档

在此之后,你可以在 package.json 文件中添加相应的命令:

使用

运行 npm run sprites 命令会自动将 SVG 图像合并为一个 SVG sprites 文件,同时也会生成相应的 CSS 样式文件。此外,你还需要在你的 HTML 文件中引入该 SVG sprites:

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

示例代码

在下面的代码中,我们将会使用两张 SVG 图像来生成 SVG sprites。这些 SVG 图像被保存在 src/icons 目录下。配置文件 dr-svg-sprites.bzl 中,我们将指定 input./src/icons/**/*.svg,这意味着我们将在该目录及其所有子目录中查找所有的 SVG 文件。

icon1.svg

icon2.svg

dr-svg-sprites.bzl

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

index.html

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

icons.css

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

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

经过以上配置后,运行 npm run sprites,即可在 dist 目录中生成 icons.svgicons.css 文件。运行示例代码后,页面中将展示两个 SVG 图像的合并结果。

总结

通过学习使用 @beezyinc/dr-svg-sprites-bz,我们可以更好的管理我们的 SVG 图像,在减少 HTTP 请求、避免路径问题等方面有很大的作用。同时,使用 SVG sprites 的好处还有很多,比如可以避免在移动端加载 SVG 字体的兼容性问题等。希望今天的文章能帮助到你,使你的前端开发变得更加高效。

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

纠错
反馈