npm 包 gulp-addhashsuffix 使用教程

介绍

在前端开发过程中,版本号一直是一个比较麻烦的问题,如果文件内容被修改,为了避免缓存出现问题,我们通常会在链接上添加版本号。虽然手动添加可以解决这个问题,但是随着项目的增加和复杂度的提高,手动维护版本号会变得越来越困难,这时候我们会想到使用自动化构建工具来生成版本号。

gulp-addhashsuffix 是一个npm包,用于自动在链接上添加版本号,同时还支持将文件名 hash 化,以进行缓存控制。

安装

gulp-addhashsuffix 可以通过 NPM 安装。

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

使用

在使用前需要先将 gulp-addhashsuffix 引入项目。

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

简单示例

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

上面的代码就是一个简单的使用示例,将 src 目录下的所有 .css 文件添加版本号后输出到 dist 目录下。

参数

addHashSuffix() 方法支持多种参数来满足我们的需求。

Parameters

options.hashType

类型:String
默认值:'md5'
说明:指定文件内容 hash 算法类型,可选值:'md5''sha1''sha256'

options.hashLength

类型:Number
默认值:8
说明:指定文件内容 hash 值长度。

options.separator

类型:String
默认值:.
说明:指定版本号与文件名的连接符号。

options.skipFiles

类型:RegExp|Function
默认值:undefined
说明:指定需要跳过文件的文件名。如果是正则表达式,匹配到的文件不会被添加版本号。如果是回调函数,返回值为 true 的文件也不会被添加版本号。

options.skipFileTypes

类型:Array
默认值:undefined
说明:指定需要跳过文件的文件类型。例如:['html', 'ejs'],会跳过所有 .html 和 .ejs 文件。

示例

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

上面的代码使用了各种参数来展示 addHashSuffix() 方法的灵活性。

完整示例

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

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

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

这里我们提供了一个完整的示例,通过这个例子可以更好地理解 gulp- addhashsuffix 的使用。

结论

gulp-addhashsuffix 是一个非常实用的工具,通过使用它可以避免手动处理版本号的麻烦,减少代码维护的复杂度。当然,在使用前需要充分理解使用方法和参数,了解自己的需求,这样使用起来才会更加方便和高效。

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


猜你喜欢

  • npm 包 stvl 使用教程

    前言 在前端开发中,我们经常需要处理一些复杂的数据交互和计算,为了方便开发过程,我们可以使用一些优秀的第三方库,这些库中有很多都已经被打包成了 npm 包,而 npm 是目前最流行的包管理工具之一。

    2 年前
  • npm 包 prompt-answer 使用教程

    前言 在前端开发中,我们常常需要与用户进行交互,获取用户的输入并根据其输入做出相应的动作。而在 Node.js 中,我们可以通过 npm 包 prompt-answer 来实现用户输入的获取和处理。

    2 年前
  • npm 包 tez-ui 使用教程

    介绍 tez-ui 是一款基于 Vue.js 的前端 UI 框架,其精美的设计和丰富的组件使其受到了众多前端开发者的喜爱。tez-ui 的代码被打包成了 npm 包,可以很方便地使用 npm 安装并引...

    2 年前
  • npm 包 priorityqueue_native 使用教程

    在前端开发中,我们常常需要对数据进行排序。排序算法有多种,其中优先队列(priority queue)是一种常用的数据结构。npm 包 priorityqueue_native 是一个基于 C++ 实...

    2 年前
  • npm 包 profibus 使用教程

    在前端开发过程中,我们经常需要使用各种工具和库来简化自己的开发流程。其中,npm(Node Package Manager)是一个非常流行的包管理器,提供了GitHub上的数以百万计的开源包,为我们提...

    2 年前
  • npm 包 cordova-plugin-inappbrowser-engage-if 使用教程

    简介 cordova-plugin-inappbrowser-engage-if 是一个基于 Cordova 开发的插件,它提供了一个原生的 InAppBrowser 交互组件,可以将一个 Web 页...

    2 年前
  • npm 包 hubot-tree-planter 使用教程

    简介 Hubot 是 GitHub 公司开发的一款聊天机器人工具,它可以让用户通过输入指令来实现各种操作,如部署代码、查看服务器状态等。而 hubot-tree-planter 则是一个 hubot ...

    2 年前
  • npm 包 men-bundle 使用教程

    men-bundle 是一个针对 Node.js 环境和前端环境的打包工具,使用它可以将多个 JS、CSS、HTML 文件打包成一个文件,减少网络请求,提高页面加载速度。

    2 年前
  • npm 包 atscntrb-as-ats3d 使用教程

    前言 在现代化的网站中,3D 动画现在越来越受欢迎,它们为网站带来了更多的交互和娱乐性。今天我们将要介绍的是 npm 包 atscntrb-as-ats3d。它是一个强大的 JavaScript 库,...

    2 年前
  • npm 包 hubot-scb-balance 使用教程

    前言 在现代科技时代,金融服务业的数字化进程已经越来越成为一种必须的趋势,而面向客户的金融服务需求也变得越加个性化、差异化。在使用 hubot 这个开源 chatbot 构建自己的业务系统时,我们可以...

    2 年前
  • npm 包 react-select-list 使用教程

    简介 React 是一个非常流行的前端框架,它受到了许多开发者的欢迎。在 React 中,我们经常需要使用下拉列表这样的控件。这时,npm 包 react-select-list 就成为了一个非常好的...

    2 年前
  • npm 包 sort-dimacs 使用教程

    在前端开发中,我们通常需要对数据进行排序。npm 上有许多排序算法的包,其中 sort-dimacs 是一款非常实用的排序算法包。sort-dimacs 是一种用于 DIMACS CNF 文件排序的算...

    2 年前
  • npm 包 ejoy-osmosis 使用教程

    前言 现今,前端技术已经发展到了一个比较成熟的阶段。一些好用的前端工具已经呈现在了我们的视野中。其中,npm 包是一种比较重要、比较实用的前端工具之一。本文将介绍一个 npm 包:ejoy-osmos...

    2 年前
  • npm 包 pulse-set 使用教程

    在前端开发中,我们常常需要对时间进行计数或者对数据进行周期性处理。而 pulse-set 就是一个非常方便的 npm 包,它可以帮助我们实现定时操作或周期性操作。 什么是 pulse-set puls...

    2 年前
  • npm 包 xyz.send.round.robin 使用教程

    简介 在前端开发中,我们常常需要实现数据的轮询发送到多个后台服务器,以实现负载均衡,提高系统的稳定性和性能。而 xyz.send.round.robin 是一个 npm 包,可以帮助我们实现这个功能,...

    2 年前
  • npm 包 ejoyx-osmosis 使用教程

    随着前端技术的快速发展,前端开发所需要使用的第三方工具也越来越多。其中, npm 是前端开发者必备的工具之一。npm(Node Package Manager)是一个包管理工具,可以方便地搜索、安装、...

    2 年前
  • npm 包 react-native-android-speech-recognizer2 使用教程

    在前端开发中,有很多场景需要使用语音识别功能,而在 React Native 开发中,我们可以使用 npm 包 react-native-android-speech-recognizer2 来实现这...

    2 年前
  • NPM包ko-modelize使用教程

    介绍 koa-modelize是一个基于Koa2的ORM库,帮助开发者完成数据模型的快速开发。它通过简单、快速地定义数据模型,让你可以轻松地从数据库中存取数据。 安装 在使用koa-modelize前...

    2 年前
  • npm 包 xyz.iron.man.bootstrap 使用教程

    引言 在前端开发中,我们经常需要使用 Bootstrap 来快速构建网站和 Web 应用的界面和组件。而 xyz.iron.man.bootstrap 是一个基于 Bootstrap 的 npm 包,...

    2 年前
  • npm 包 chatzz 使用教程

    前言 现在,很多网站或者应用程序中都有聊天功能,而 Chatzz 就是一款 npm 包,可以帮助开发者快速实现聊天功能。它支持多种消息类型,包括文本、图片、文件等。

    2 年前

相关推荐

    暂无文章