npm 包@holisticon/gulp-static-hash 使用教程

在前端开发中,文件的缓存问题一直是个比较棘手的问题。为了让用户尽量减少访问服务器的次数,前端开发人员经常会对文件进行缓存。但是,一旦文件更新的时候,就容易出现缓存不更新的情况。

为解决这个问题,@holisticon/gulp-static-hash 这个 npm 包应运而生。它可以为文件自动添加 hash 值,并将 hash 值作为参数添加到文件地址的末尾。这样,当文件内容更新时,hash 值就会发生变化,从而刷新缓存。

安装

使用 npm 进行安装:

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

使用方法

Gulp 集成

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

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

运行静态资源加 hash 值的任务:

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

源代码解析

让我们一步步解析上述代码中的各个部分。

引入依赖

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

首先,我们引入了 Gulp,并将其赋值给变量 gulp。然后,我们还引入了 @holisticon/gulp-static-hash 包,并将其赋值给变量 hash。

定义任务:

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

这段代码定义了一个名字为 static-hash 的 Gulp 任务。它使用 gulp.src() 方法获取所有位于 .src/ 目录下的文件,然后通过 hash() 方法为它们添加 hash 值。最后,它将新文件输出到 .dist/ 目录中。

配置 hash 方法参数

在代码中这段被 hash() 方法包裹的代码:

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

定义了一个配置对象,其中 template 参数定义了生成文件名的格式。它使用了 EJS 模板语言。在这个模板中,name、ext 和 hash 都是变量,分别表示文件名、后缀名和 hash 值。

示例

假设我们有一个名叫 test.js 的文件,它的内容如下:

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

当我们使用 @holisticon/gulp-static-hash 添加 hash 值后,生成的文件名可能是这样的:

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

我们发现,文件名中的一大串字符就是 hash 值。这个值的生成方式是完全随机的。

总结

@holisticon/gulp-static-hash 可以为文件自动添加 hash 值,并将其添加到文件路径末尾。这样可以解决浏览器缓存的问题,确保每次文件内容变化时,浏览器都能正确加载最新的版本。通过这篇文章,你已经学会了如何使用这个强大的 npm 包。希望这对你有所帮助!

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


猜你喜欢

  • npm 包 react-native-pickerise 使用教程

    React Native Pickerise 是一个非常实用的 npm 包。在开发 React Native 应用程序时,其用于从用户中选择数据的组件非常有用。这个包可以帮助开发者在 React Na...

    3 年前
  • npm 包 react-native-toastify 使用教程

    前言 在 React Native 开发中,Toast 是一种非常实用且必不可少的 UI 组件,用来展示一些短暂的提示信息,比如网络请求成功或失败的状态提示,或者用户操作的成功或失败提示等。

    3 年前
  • npm 包 DistributedJS 使用教程

    分布式计算是近年来计算机领域的一种新兴技术,对于需要处理大量数据和进行复杂运算的应用场景具有非常重要的作用。在前端开发领域中,我们通常使用浏览器来进行一些数据处理工作,但是浏览器的计算能力有限,无法满...

    3 年前
  • npm 包 fis3-hook-css-modules 使用教程

    在前端开发中,CSS 模块化已经成为一个非常重要的概念。很多前端框架也已经内置支持 CSS 模块化了,但是对于一些使用自己搭建的前端构建工具的开发者来说,可能还需要自己手动处理 CSS 模块化的问题。

    3 年前
  • 使用 generator-express-ts-crud 生成 TypeScript CRUD 应用的教程

    在前端开发领域,很多应用需要进行 CRUD 操作,而建立和维护 CRUB 应用是比较烦琐的。在这种情况下,使用 npm 包 generator-express-ts-crud 可以更易于实现这些操作。

    3 年前
  • npm 包 sfcookies 使用教程

    在前端开发中,我们通常需要处理 cookie,比如保存用户登录信息、存储用户偏好设置等等。而对于一些常用的 cookie 处理,我们可以通过使用已有的 npm 包来简化代码编写。

    3 年前
  • npm 包 ac-cli 使用教程

    在前端开发中,我们经常需要快速生成一些基础代码或完成一些常见的任务,比如创建项目、安装依赖、运行脚本等等。这些重复性的任务可以通过命令行工具来自动化完成,并且对于团队协作和代码规范的维护也起到了很大的...

    3 年前
  • npm 包 angular4-files-upload 使用教程

    介绍 Angular4 是一个流行的前端框架,提供了丰富的功能和工具来开发 Web 应用程序。在这些应用程序中,文件上传是一个常见的需求。而 angular4-files-upload 就是一个专门为...

    3 年前
  • 前端开发者必备工具 - npm 包 hl7-object-parser 使用教程

    在如今的互联网时代,医疗行业也逐渐向数字化迈进。作为医疗行业数据的标准格式之一,HL7 协议在医疗数据传输中扮演着重要的角色。而在前端开发过程中,我们也需要针对 HL7 格式进行数据的解析和处理。

    3 年前
  • npm 包 object-hl7-parser 使用教程

    #npm 包 object-hl7-parser 使用教程 ##介绍 HL7是医疗保健领域的一种标准,用于交换医疗信息。HL7消息包含用于标识消息类型、消息内容、接收消息的应用程序等信息。

    3 年前
  • npm包imgproc使用教程

    在前端开发中,经常需要使用图片处理的功能,例如图片裁剪、缩放、滤镜等操作。npm包imgproc是一款基于canvas技术实现的轻量级图片处理库,可以帮助开发者方便快捷地进行图片处理操作。

    3 年前
  • npm 包 we-need-a-warning-signal 的使用教程

    we-need-a-warning-signal 是一个用于添加警告信号的 npm 包,它可用于前端开发中许多场景,比如在开发测试中标记某些功能为危险的,并在正式环境中提示用户避免使用,以提高产品质量...

    3 年前
  • npm 包 cosium-js-sdk 使用教程

    在前端开发中,我们经常需要与后端交互,实现数据的传输和处理等操作。而 npm 包 cosium-js-sdk 就是一款能够帮助我们快速进行数据传输和处理的工具。 本篇文章将为大家介绍 cosium-j...

    3 年前
  • npm 包 electric-quartz-components 使用教程

    什么是 electric-quartz-components? 电子石英元件(electric-quartz-components)是一个基于 React 的 UI 组件库,它提供了一系列的高质量的 ...

    3 年前
  • npm 包名:mongoose-to-joi-translator 使用教程

    在 Node.js 应用程序开发过程中,我们通常使用 Mongoose 数据库对象建模来定义数据模型。mongoose-to-joi-translator 是一个 npm 包,它可以自动将 Mongo...

    3 年前
  • npm 包 oddish 使用教程

    介绍 oddish 是一个基于 Node.js 的 npm 包,它提供了一些在前端开发中常用的实用方法和工具函数,如表格排序、表单验证、日期格式化等。通过 oddish 可以快速方便地引入这些工具函数...

    3 年前
  • npm 包 pug-filter-ctp 使用教程

    在前端开发过程中,经常需要使用模板引擎来进行数据渲染。而其中一款较为广泛的模板引擎是 Pug(之前的 Jade),它提供了丰富的语法和插件来丰富开发者的体验。在本文中,我们将介绍一个针对 Pug 的插...

    3 年前
  • npm 包 postcss-footer 使用教程

    在前端开发中,我们经常需要对 CSS 进行后处理以应对各种需求。 postcss 是一个功能强大的工具,它可以通过插件的方式对 CSS 进行处理。其中,postcss-footer 作为一个非常实用的...

    3 年前
  • npm 包 es6-string-html-template 使用教程

    在前端开发过程中,我们经常需要动态生成 HTML 代码。传统的方式是通过字符串拼接来实现,这样容易出现拼写错误、代码可读性较差等问题。随着 ES6 的普及,我们可以使用模板字符串来更加直观地生成 HT...

    3 年前
  • npm 包 es6-string-template-loader 使用教程

    在前端开发中,我们经常需要使用模板语言来动态生成页面,以及在应用程序中生成 HTML、CSS 或 JavaScript 代码块。但是使用传统的字符串拼接会导致代码混乱、可读性差、易错等问题,因此推荐使...

    3 年前

相关推荐

    暂无文章