npm 包 gulp-rev-replace 使用教程

前言

在现代的前端开发中,我们经常会使用到构建工具来完成一些自动化的任务,如压缩 JS、CSS、图片等文件、处理 ES6、Less 等开发语言、自动生成文档等功能。而其中一个很重要的构建工具是 gulp,它已经成为了前端构建工具中的一种事实标准。在使用 gulp 处理文件的时候,我们经常使用到 gulp-rev 和 gulp-rev-collector 来生成和替换文件的 hash 值,而这个过程会比较繁琐。于是,一位名叫 James Wyse 的开发者就开发了一个叫做 gulp-rev-replace 的 npm 包,它可以在一步之内完成生成和替换 hash 值的操作,大大简化了我们的开发流程。本文就来详细介绍一下如何使用 gulp-rev-replace。

安装

在开始使用 gulp-rev-replace 之前,我们需要先安装 gulp 和 gulp-rev。如果你已经安装好了这两个包,那么就可以直接使用 npm 安装 gulp-rev-replace:

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

使用

在使用 gulp-rev-replace 之前,我们需要先了解一下 gulp-rev 的用法。gulp-rev 是一个生成 hash 值的插件。我们可以通过下面的代码来设置:

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

这个 gulp 任务会将 src 目录下的所有文件生成对应的 hash 值,并将生成的文件和对应的 manifest 文件都保存到 dist 和 rev 目录下。之后,我们需要通过 gulp-rev-collector 或者其他相关工具将生成的 manifest 文件中的 hash 值替换到 HTML 或者其他文件中的对应位置,其实这个过程是比较繁琐的。

而使用 gulp-rev-replace,我们只需要修改上面的 gulp 任务为:

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

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

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

功能

gulp-rev-replace 可以扫描 src 目录下的所有 HTML/CSS/JS 等文件,查找其中的 URL,如果这个 URL 对应的文件有 hash 值,则自动将原 URL 替换成 URL+hash。比如,在 src 目录下有个 index.html 文件:

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

而在 dist 目录下,css/main.css 文件的 hash 值为 4e2d3144,js/app.js 文件的 hash 值为 6bfa1c31。通过 gulp-rev,我们可以在 manifest.json 文件中找到对应的 hash 值:

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

在使用 gulp-rev-replace 之后,gulp 任务会自动将 index.html 中的 URL 替换为:

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

如果有多个 manifest 文件,我们可以设置 replaceInExtensions 选项,来限定仅替换指定类型的文件,比如:

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

总结

使用 gulp-rev-replace 可以方便地将 gulp-rev 生成的 hash 值自动替换到对应的文件中,极大地简化了我们的开发流程。不过要注意,gulp-rev-replace 无法自动添加 manifest 文件到 HTML 中,所以需要结合其他相关工具使用。当然,这也可以通过写一个自定义的 Gulp 插件来实现,这里不做过多赘述。

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


猜你喜欢

  • npm 包 loader.js 使用教程

    在前端开发中,我们经常需要加载各种不同格式的资源,例如图片、css、js、音频、视频等等。而很多时候,我们需要对这些资源进行一些处理后再加载。这时候,一个优秀的资源加载器就显得格外重要。

    6 年前
  • npm 包 router_js 使用教程

    在 Web 开发中,前端路由是开发者经常需要使用的功能。npm 上有很多前端路由库可供选择,其中 router_js 是一款简单易用的前端路由库。本文将详细介绍如何使用 router_js。

    6 年前
  • npm 包 route-recognizer 使用教程

    概述 route-recognizer 是一个用于前端路由匹配的 npm 包。它提供了一种灵活而高效的方法来与 URL 路径进行匹配,这对于开发单页面应用程序非常有用。

    6 年前
  • NPM 包 Ember-Source 使用教程

    Ember.js 是一个流行的前端框架,它帮助开发者快速构建复杂的 Web 应用。而 Ember-Source 是 Ember.js 的核心部分,它包含了该框架的核心代码。

    6 年前
  • npm 包 Ember 使用教程

    Ember 是一个用于构建 Web 应用程序的 JavaScript 框架。它提供了一种简单、高效的方式来开发高度交互性的 Web 应用程序,并且它在很多大型 Web 应用程序中都被广泛应用。

    6 年前
  • npm 包 git-side-band-message 使用教程

    前言 在开发过程中,我们经常需要使用 Git 进行版本控制,而 Git 的命令行界面不能提供很好的反馈信息,这时一个好的提示工具就是非常有用了。 git-side-band-message 就是这样一...

    6 年前
  • NPM 包 git-http-backend 使用教程

    Git 是一个分布式版本控制系统,它能够跟踪文件的修改历史,并支持多人协同开发。在 Git 中,每个人都能够独立地修改代码,并将修改后提交到远程仓库中。当多人协同开发时,需要一个中央仓库来管理代码,以...

    6 年前
  • npm 包 generator-react-fullstack 使用教程

    介绍 generator-react-fullstack 是针对 React 全栈开发的一个 Yeoman generator。它可以帮助你快速创建一个现代化的项目。

    6 年前
  • npm 包 generator-karma 使用教程

    本文将介绍如何在前端项目中使用 npm 包 generator-karma 来帮助我们快速搭建单元测试环境。 什么是 generator-karma? generator-karma 是一个基于 ...

    6 年前
  • npm 包 propprop 使用教程

    简介 Propprop 是一个轻量级的 JavaScript 库,它提供了一种便捷的方式来访问对象属性。无论是在 React 应用还是在普通的 JavaScript 应用中,都可以使用 Proppro...

    6 年前
  • npm 包 wiredep-cli 使用教程

    什么是 wiredep-cli? wiredep-cli 是一个用于将 Bower 包的依赖项注入到 HTML 或其他模板中的命令行工具。它是 wiredep 的命令行版本,使用方式更为方便。

    6 年前
  • npm 包 wiredep 使用教程

    在前端开发中,我们经常会使用第三方库来帮助我们实现某些功能。但是,每次添加一个新的库都需要手动引入它的 CSS 和 JS 文件,非常繁琐。这时候,有一个工具就可以让我们轻松地解决这个问题,那就是 wi...

    6 年前
  • npm 包 generator-angular 使用教程

    前言 前端开发中,代码的复用率非常高,许多功能都可以通过开源的库来实现,而 npm 作为 JavaScript 的包管理工具,扮演着重要的角色。在本文中,我们将介绍如何使用 npm 包 generat...

    6 年前
  • npm 包 forever-monitor 使用教程

    随着前端技术的发展,前端应用越来越复杂,对于前端工程师来说,如何保证应用的稳定性和可靠性是一个很重要的问题。npm 包 forever-monitor 就是一个非常好用的工具,可以帮助我们在前端应用出...

    6 年前
  • npm 包 traceback 使用教程

    在前端开发中,出现 bug 是很常见的。当我们在开发过程中遇到问题时,需要及时找到问题所在并进行调试。这时候,一个好的 traceback 工具就能给我们提供很大的帮助。

    6 年前
  • npm 包 follow 使用教程

    npm 是世界上最大的软件包管理器,其中包括许多非常有用的前端框架和库。其中之一就是 follow,它为开发者提供了一个简单而强大的跟踪更新的接口。 在这篇文章中,我们将深入了解 follow 的使用...

    6 年前
  • npm包 cradle的使用教程

    在Node.js的生态系统中,npm(Node.js的包管理器)是一个很棒的工具。它允许我们轻松地与其他开发者共享和使用代码。 在本文中,我们将讨论npm包cradle的使用。

    6 年前
  • npm 包 resourceful 使用教程

    前言 Node.js 是目前非常流行的 JavaScript 运行环境。在 Node.js 中,我们可以使用 npm 包管理器方便地安装和管理第三方库。 在前端开发中,我们经常需要调用后端提供的 RE...

    6 年前
  • npm 包 flatiron 使用教程

    简介 Flatiron 是一个 Node.js 开发框架,它提供了一系列工具和插件来帮助你快速构建 Node.js 应用程序。它是一个基于命令行界面的应用程序框架,用于构建可扩展的服务器端和客户端应用...

    6 年前
  • npm 包 understudy 使用教程

    前言 在前端开发中,我们时常会遇到需要对某个函数或者组件进行封装的情况。这时我们可以使用 npm 包来做到快速构建和发布我们的代码,understudy 就是这样一种 npm 包,它可以使我们快速构建...

    6 年前

相关推荐

    暂无文章