npm 包 gulp-svg-to-css-promise 使用教程

阅读时长 5 分钟读完

做前端开发的时候,我们经常需要将 SVG 格式的图片嵌入到 HTML 或 CSS 中。手写 SVG 代码需要花费大量时间和精力,而且不利于维护。由此,一些方便快捷的工具应运而生。本文将介绍 npm 包 gulp-svg-to-css-promise 的使用方法,通过这个工具可以将 SVG 转换成可以直接在 CSS 中使用的代码。

安装

在安装前,请先确保已经安装了 Node.js 和 gulp。

在终端中,运行以下命令进行安装:

使用方法

  1. 在项目的 gulpfile.js 文件中引入该包,并为要处理的 SVG 文件设置一个变量:
  1. 使用 gulp.src() 方法获取要处理的 SVG 文件,将其传给 svgToCss() 方法:
  1. 在 CSS 中使用生成的代码。 SVG 代码会被转换成类似于下面的 CSS 代码:

其中,.svg-icon-1 为根据输入 SVG 文件名自动生成的 CSS 类名。

配置

.pipe(svgToCss()) 方法可以接受一个可选的配置对象作为参数,用于自定义生成代码的选项。默认的配置选项如下:

-- -------------------- ---- -------
-
  -------- ----------
  ---------------- ---
  ------- -----
  ------- --------
  -------- --
  ------------- -----------
  --------- --- --------------- ------------- -- - ---------- - - ------- --------- -- -
      --------- -------- --- ------ --------- ------ -
    ---- --- ----
  ---------- --- ----------------
-
  • cssFile:生成的 CSS 文件名,默认为 svg.css
  • prefix:自定义 CSS 类的前缀,默认为 .svg-
  • startId:自定义 CSS 类的起始编号,默认为 1。
  • svgClassname:用于选择 SVG 元素的类名,默认为 svg-icon
  • base64:是否使用 Base64 编码,默认为 true
  • customClassName:是否使用自定义的 CSS 类名,默认为 ''
  • template:用于创建 CSS 规则的 template,默认为:

其中,<%= i + startId %> 会提示插入自增的数字编号作为 CSS 类名。

示例代码

以下代码演示了如何使用 gulp-svg-to-css-promise,将 SVG 文件转换成可嵌入到 CSS 中的代码:

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

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

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

在执行 gulp svg-to-css 之后,会在 dist/css 目录下生成一个名为 svg.css 的文件,用于存储生成的 CSS 代码。在 HTML/CSS 中,可以通过类似于下面的方式使用 SVG 图像:

总结

任何一个工具都需要灵活运用,gulp-svg-to-css-promise 不同的配置选项可以根据项目需求进行设置,在处理 SVG 图像的时候可以大大减少我们的时间和精力。同时,这个工具的源码也可以作为学习 Gulp 的参考资料,帮助我们更好地理解 Gulp 的使用以及插件的开发方式。相信通过本文的介绍,在项目中使用 Gulp 插件不再是难事。

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

纠错
反馈