npm 包 broccoli-rev 使用教程

什么是 broccoli-rev?

broccoli-rev 是一个基于 Broccoli 构建的文件处理工具,用于将静态文件添加哈希值,以保证浏览器缓存的正确性。

安装

使用 npm 进行安装:

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

使用方法

初始化

依据 broccoli 的标准做法,在 Brocfile.js 中引用 broccoli-rev:

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

创建哈希版本的操作

如果你需要创建哈希值版本的文件,你需要使用 rev() 函数。

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

rev() 的第一个参数指定了输入文件夹,第二个参数是一个可选的对象,用于指定以下选项:

  • outputDir(可选):输出文件夹的名称;
  • extensions(可选):要处理哈希值的文件类型的一个数组——例如:['js', 'css', 'png', 'jpg'],默认为 ['js', 'css', 'png', 'jpg']。所有输入文件中给定扩展名的文件将会被处理。

返回值

调用 rev() 后,你会得到一个 Broccoli 树作为返回值。

示例代码

以下是一个 Brocfile.js,我们将在 app/stylesapp/scripts 目录中读取所有以 jscss 结尾的文件,并将它们复制到 dist 目录中。 此外,我们还将使用 broccoli-rev 将这些文件进行哈希值处理以保证浏览器缓存的正确性。

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

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

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

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

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

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

指导意义

将静态文件的 URL 添加哈希是保证浏览器缓存正确性的好方法。使用 broccoli-rev,你可以很容易地将建立 URL 和哈希值的过程自动化,从而避免手动维护版本号带来的麻烦。

最终的缓存优化产生的静态资源在构建时呈现出唯一且不可重用的版本管理,它们都在使用服务端上下文中生成且通常是与一个特定的用户(或会话)关联起来。这使得在不影响客户端的情况下对每个资源进行更彻底的优化成为可能。

结论

使用 broccoli-rev 有助于确保启用静态资源缓存和减少浏览器请求。尽管这个库有点小,但它确实能够帮助你从这个繁琐的工作中解脱出来。

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


猜你喜欢

  • npm 包 broccolli-sass-tree 使用教程

    概述 Broccoli 是用于构建 JavaScript 模块以及前端应用的可定制化 build 工具。它可以与各种各样的插件配合使用,从而使得构建应用变得高效而灵活。

    4 年前
  • npm包browser-geolocation使用教程

    在web开发中,地理位置服务十分重要。而browser-geolocation就是一个可以方便的获取地理位置的npm包。本篇文章将详细介绍该包的使用方法。 安装 在开始使用之前,需要在终端中输入以下命...

    4 年前
  • npm 包 browser-hex 使用教程

    前言 在前端开发过程中,我们经常需要转换十六进制颜色码为 RGB 或 HSL 值,或将 RGB 或 HSL 值转换为十六进制颜色码。使用 JavaScript 编写相应的代码较为复杂,但可以使用 np...

    4 年前
  • npm 包 Broccoli-Rucksack 使用教程

    介绍 Broccoli-Rucksack 是一个 JavaScript 处理器,它可以帮助我们快速编写 CSS 样式,使代码更加简单易懂和易维护。 这个包是通过 npm 安装和使用的,Broccoli...

    4 年前
  • npm 包 broccoli-rupture 使用教程

    什么是 broccoli-rupture Broccoli-rupture 是一个基于 Broccoli 构建工具的插件,用来编译 SASS 和 SCSS 样式表。

    4 年前
  • npm 包 broccoli-sabel 使用教程

    前言 在前端开发过程中,我们通常需要使用一些打包工具来对我们的代码进行压缩和优化,而 broccoli-sabel 就是一款十分优秀的打包工具。 本文将为大家介绍如何使用 broccoli-sabel...

    4 年前
  • npm 包 broccoli-salesforce-deploy 使用教程

    前言 在 Salesforce 开发中,我们经常需要将本地代码部署到 Salesforce 的开发环境中,以完成测试和开发。而 broccoli-salesforce-deploy 这个 NPM 包很...

    4 年前
  • 使用 browser-get 优化前端开发

    在前端开发的过程中,我们常常需要从浏览器中获取一些信息,如当前窗口大小、鼠标位置、滚动位置等等。虽然这些信息可以通过原生的 JavaScript 获取,但是为了提高开发效率和代码可读性,我们可以使用第...

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

    介绍 Brinkbit Logger 是一款 Node.js 前端日志集成工具,它可以帮助开发者轻松地在前端项目中注入日志功能,方便日后快速定位和解决问题。Brinkbit Logger 集成了常见的...

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

    介绍 NPM(Node Package Manager)是 Node.js 的包管理器,也是世界上最大的包管理器之一。NPM 允许开发者上传开源模块(包)并方便地管理依赖关系。

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

    在现代前端开发中,我们经常会使用到各种 npm 包,以便高效地完成工作。其中,brinkbit-style-es6 是一款非常有用的 npm 包,它提供了一系列的 ES6 样式类工具,可帮助我们更轻松...

    4 年前
  • npm 包 brio 使用教程

    介绍 brio 是一个基于 Express 和 Socket.io 的 MVC 框架。它协调了服务器端和客户端的交互,并提供了许多常用的功能,如请求处理、路由管理、模板渲染、数据库访问、会话管理等等。

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

    前言 在前端开发中,我们常常需要使用 HTTP 客户端与后端 API 进行通信,以便获取数据、发送数据等操作。而 browser-http-client 是一个实现了基本 HTTP 功能、无需依赖其他...

    4 年前
  • npm 包 browser-inception 使用教程

    简介 browser-inception 是一个可以同时在多个不同版本的浏览器中运行 JavaScript 代码的 npm 包。它可以帮助前端开发者子拥有更多的测试覆盖率,以保证代码在不同浏览器上的兼...

    4 年前
  • npm 包 browserify-window-context 使用教程

    在前端开发中,我们经常需要在浏览器端使用 CommonJS 或者 ES6 的模块语法,而浏览器并不原生支持这种语法。为了解决这个问题,我们可以使用 browserify 这样的工具将 CommonJS...

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

    在前端开发中,我们经常需要和后端进行数据交互。而使用 Ajax 或者 Fetch API 可能会存在跨域的问题,需要在后端进行一些处理。如果后端没有提供解决方案,我们便可以使用 npm 包 brows...

    4 年前
  • npm 包 browser-image-size 使用教程

    简介 在前端网页开发中,经常会涉及图片的展示,同时为了用户体验以及页面性能优化的需要,需要在图片加载之前获取图片的大小,以此来进行页面布局设计或者图片的压缩等操作。

    4 年前
  • npm 包 browser-ipfs 使用教程

    前言 IPFS (InterPlanetary File System) 是一个点对点的分布式文件系统,用于创建更快速、更安全和更开放的 Web。IPFS 技术是建立在一组开放标准的基础之上,通过这些...

    4 年前
  • npm 包 browser-is-online 使用教程

    前言 在前端开发过程中,我们经常使用一些工具或者库来辅助我们完成项目的开发。npm 是我们经常使用的包管理工具之一。而本文介绍的 browser-is-online 就是一个 npm 包,它可以用来检...

    4 年前
  • npm 包 broccoli-sassdoc 使用教程

    介绍 broccoli-sassdoc 是一个基于 Broccoli 的 npm 包,用于生成 Sass 文档。它可以为 Sass 文件生成可定制的 HTML 文档,帮助开发人员更好地管理和维护 Sa...

    4 年前

相关推荐

    暂无文章