npm 包 broccoli-svgstore 使用教程

在前端开发中,我们通常会遇到需要使用多个 SVG 图标的情况。若每次使用都单独引入一个 SVG 文件,其引用率和加载速度都会成为问题。这时,我们可以使用 broccoli-svgstore 工具将多个 SVG 文件合并成一个 SVG sprite,从而提高网站性能并方便管理。

1. 安装 broccoli-svgstore

在使用 broccoli-svgstore 之前,我们需要先安装它。

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

安装完成后,我们需要先了解一下如何使用 broccoli,因为 broccoli-svgstore 是建立在 broccoli 之上的。

2. 了解 broccoli

broccoli 是一个构建工具,它的作用是将源代码转换为静态资源。与其他构建工具不同,broccoli 不会将源代码打包进一个文件中,而是将每个文件的变化实时反映到输出目录中。

先通过 npm 安装 broccoli

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

下面是 broccoli 常用的 API。

  • makeTree(inputTree: BroccoliTree, options? :any): BroccoliTree:创建一个树。
  • watch(inputTree: BroccoliTree, options? :any): WatchNode:监视一个树,并返回观察节点。
  • outputNodeToString(outputNode: OutputNode): string:从输出节点读取所有文件的内容,并返回它们的字符串表示形式。

3. 使用 broccoli-svgstore

3.1 示例图标文件

我们有 3 个 SVG 图标文件:check.svgwarning.svgerror.svg,它们存在于 icons 目录下。

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

3.2 创建树对象

使用 broccolimakeTree 方法创建树对象。我们需要传入两个参数,第一个参数是包含图标文件的输入树,第二个参数是配置对象。配置对象中有个 outputFile 属性用于指定输出文件路径。

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

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

3.3 构建

使用 broccolioutputNodeToString 方法读取输出节点,并返回它们的字符串表示形式。

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

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

3.4 示例代码

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

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

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

以上就是使用 broccoli-svgstore 的完整示例代码。当执行代码后,icons 目录下的 SVG 文件就会合并为一个 icons.svg 文件保存在 dist/assets 目录下。这样,我们就可以在网站中使用 <use> 标签来加载该文件中的多个 SVG 图标。

总结

broccoli-svgstore 是一个非常有用的工具,它方便地解决了使用多个 SVG 图标时的引用率和加载速度问题。同时,学习了本篇文章,你也能更好地掌握 broccoli 构建工具的使用。

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


猜你喜欢

  • npm 包 bw-viewmediator 使用教程

    简介 在前端开发中,我们经常需要实现视图层之间的交互,比如某个视图中的按钮被点击后需要触发其他视图的更新。 bw-viewmediator 就是一个可以帮助我们管理视图之间通信的 npm 包。

    4 年前
  • npm 包 bw-router 使用教程

    前言 针对单页面应用,路由是实现前端页面跳转的关键所在。其中,bw-router 是一个简单易用的 npm 包,提供了快捷便利的路由使用方式。本文将详细介绍 bw-router 的使用方法,帮助读者更...

    4 年前
  • npm 包 bwave 使用教程

    bwave 是一个基于 Web Audio API 和 canvas 实现的音频可视化库,可以方便地实现对音频的频域和时域可视化,同时支持自定义外观和配置。本文将向大家介绍如何使用 bwave。

    4 年前
  • npm 包 bw-vm 使用教程

    前言 在前端开发过程中,经常会涉及到视觉稿的像素计算以及响应式布局的实现。bw-vm 是一个轻量级的 NPM 包,可以方便地进行像素和 viewport 单位的转换。

    4 年前
  • npm 包 bunyan-merge-files 使用教程

    介绍 bunyan-merge-files 是一个用于合并多个日志文件的工具,在前端的应用开发中非常实用。它可以将多个应用日志文件合并为一个文件,方便我们进行快速查询和分析。

    4 年前
  • NPM 包 "bunyan-morgan" 使用教程

    在现代的前端开发过程中,前端日志处理扮演着至关重要的角色。日志能够让我们快速地定位问题、监控应用运行情况并进行性能优化。其中,Bunyan 是一个高效的、可扩展的日志库,而 morgan 又是一个非常...

    4 年前
  • npm 包 bunyan-mongodb-stream 使用教程

    简介 在前端开发过程中,我们会遭遇到各种各样的问题,其中一个常见的问题就是在日志处理上。在 Node.js 的世界里,我们通常使用 bunyan 来处理日志。它是一个简单但强大的日志框架,具有轻巧的设...

    4 年前
  • npm 包 bullhorn-client 使用教程

    1. 简介 Bullhorn是一款适用于招聘行业的 CRM(客户关系管理)软件,bullhorn-client是针对Bullhorn API的Node.js客户端库。

    4 年前
  • npm 包 bullhorn-style 使用教程

    在前端开发中,CSS 样式的重要性不言而喻。尤其是在大型项目中,一套良好的样式库可以提高开发效率,减少样式冲突和代码冗余。 在本文中,我们将介绍一款 npm 包 bullhorn-style,它是一个...

    4 年前
  • npm 包 bullhorn-handlebars-helpers 使用教程

    在前端开发中,Handlebars 是一个非常流行的模板引擎。bullhorn-handlebars-helpers 是一个 Handlebars 的扩展,提供了一些常用的 helper,可以让我们更...

    4 年前
  • npm 包 bunyan-node-logger 使用教程

    前言 在开发前端应用程序时,往往需要对日志进行记录和输出,以便进行问题排查和调试。因此,使用一个高效、稳定、易于使用的日志库是非常重要的。在这篇文章中,我们将介绍 npm 包 bunyan-node-...

    4 年前
  • NPM 包 Bullhead 使用教程

    本文将介绍如何使用 Bullhead 这个前端开发工具。我们会详细讲解其用途、功能、使用方法以及示例代码等方面,帮助读者快速上手并应用在实际项目中。 什么是 Bullhead? Bullhead 是基...

    4 年前
  • npm 包 bullets 使用教程

    在前端开发中,我们经常需要使用类似于列表、标题、高亮等结构化的文本,这时候就需要一些好用的工具来帮助我们快速实现这些效果。bullets 就是这样的一个 npm 包,它提供了一组简单易用的方法来处理文...

    4 年前
  • npm包bunyan-nodemailer使用教程

    随着现代web应用程序的不断发展,日志记录已变得越来越重要。它可以帮助开发人员在应用程序中发现和修复错误,同时还可用于监控应用程序的性能和行为。在本文中,我们将介绍一个名为bunyan-nodemai...

    4 年前
  • npm 包 bunyan-noop 使用教程

    简介 bunyan-noop 是一个基于 bunyan 日志框架的 npm 包,它提供了一种简便的方式来禁用 bunyan 的日志输出。该 npm 包主要适用于开发环境和测试环境,可以大大减少不必要的...

    4 年前
  • 前端必知:npm包bunyan-pilgrim使用教程

    什么是bunyan-pilgrim? bunyan-pilgrim是一个专门用于Node.js的日志生成器。该包使用bunyan模块,可以帮助开发人员在Node.js应用程序中轻松生成结构化日志。

    4 年前
  • npm 包 bunyan-pretty 使用教程

    介绍 在前端开发过程中,我们需要对程序运行过程进行调试并记录异常信息。为了更好的管理这些信息,我们通常会将其输出到文件中并分析处理。而 bunyan-pretty 是一个非常优秀的 npm 包,它可以...

    4 年前
  • npm 包 bunyan-pid-split 使用教程

    在前端开发中,日志是一个非常重要的部分,它能够帮助我们快速定位问题,并提升调试效率。而 bunyan-pid-split 是一个非常好用的 npm 包,它可以将 bunyan 日志按照 pid 分割成...

    4 年前
  • npm 包 bunyan-opbeat 使用教程

    随着前端开发的不断发展,日志记录已成为一个必不可少的环节。而 bunyan 作为一款非常流行的 Node.js 日志库,可以很好地为前端开发人员提供日志记录和管理的解决方案。

    4 年前
  • npm 包 bully 使用教程

    在前端开发过程中,我们常常需要使用许多第三方的 npm 包来完成我们的项目需求。但是,如果这些包中存在着不安全的或是不符合规范的代码,那么就会给我们的项目带来潜在的安全风险和维护问题。

    4 年前

相关推荐

    暂无文章