npm 包 hashed-map-webpack-plugin 使用教程

在前端开发过程中,我们经常会用到 webpack 进行模块打包。而在 webpack 打包后,最终生成的文件名往往是带有 hash 的,这主要是为了保证文件的缓存性能。但是,我们在开发过程中需要引用这些文件,此时就需要使用哈希映射(Hash Map)来实现文件名与哈希值的对应关系,这就是 hashed-map-webpack-plugin 所实现的功能。

什么是 hashed-map-webpack-plugin

hashed-map-webpack-plugin 是一个 webpack 插件,它可以将 webpack 在打包过程中生成的文件名与哈希值的映射存储到一个 JSON 文件中。这个 JSON 文件可以用于在应用启动时加载,以便在引用文件时快速找到文件名和哈希值的对应关系。

安装

你可以通过以下命令安装 hashed-map-webpack-plugin:

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

使用方法

使用 hashed-map-webpack-plugin 非常简单。只需在 webpack 的配置文件中引入插件并传入生成的 JSON 文件名即可。

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

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

此时,hashed-map.json 文件会被生成在 webpack 配置文件所在的目录下,它的格式如下:

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

在应用启动时,通过加载 hashed-map.json 文件来获取哈希值和文件名的对应关系。

示例代码

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

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

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

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

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

上面的代码会先通过 fetch 方法加载 hashed-map.json 文件,然后将文件中的哈希值和文件名的对应关系覆盖到 hashedMap 对象中。最后,为了引入打包后的两个 js 文件,我们需要拼接哈希值和文件名,生成实际需要引用的 js 文件路径。

结论

hashed-map-webpack-plugin 插件可以帮助我们解决在应用启动时快速找到文件名和哈希值的对应关系的问题。同时,通过了解其使用方法和源码实现,我们也可以更好地理解 webpack 的机制和其插件系统的运作方式。

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


猜你喜欢

  • npm 包 @njakob/breeze 使用教程

    什么是 @njakob/breeze? @njakob/breeze 是一个依赖于 React、react-dom 和 React-Router 的轻量级前端 UI 组件库。

    2 年前
  • npm 包 dipa 使用教程

    简介 dipa 是一个用于创建带有淡入淡出效果的图片动画的 npm 包,如果您正在寻求一种方法来为您的网站或应用程序添加生动的视觉效果,dipa 可能是一种不错的选择。

    2 年前
  • npm 包 indexden-client 使用教程

    随着互联网的发展,我们面临着越来越多的数据需要进行存储和检索。而索引服务就成为了一个必不可少的工具。IndexDen 是一款快速,可扩展且易于使用的搜索引擎,可以用于索引和搜索海量文本数据。

    2 年前
  • npm 包 raclette 使用教程

    简介 raclette 是一个基于 RxJS 和 Redux 的状态管理库。它提供了一种响应式的、可组合的状态管理方式,并且可以与 React、Angular 和 Vue 等前端框架无缝集成。

    2 年前
  • npm 包 weather-phone-search 使用教程

    npm 是前端开发中使用最广泛的包管理器之一,而其中的 weather-phone-search 包则提供了一种便捷的方式来查询某个地区的天气信息。本文将详细介绍该包的使用方法,并提供相应的示例代码与...

    2 年前
  • npm 包 gulp-rev-imported-file-link 使用教程

    在前端开发中,我们经常需要管理项目中的静态资源,如 CSS、JavaScript、图片等。为了避免浏览器缓存的问题,我们通常采用文件名 Hash 的方式来区分版本号。

    2 年前
  • npm 包 ffplay-static 使用教程

    在前端开发过程中,无论是处理音视频还是进行音视频封装,操作命令都是必不可少的,而 ffplay-static 这个 npm 包正是用来解决这个问题的。 本文将详细介绍如何使用 ffplay-stati...

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

    介绍 cordova-plugin-engage-injectview 是一个 Cordova 插件,用于将一个指定的网页或本地 html 文件注入到你的 Cordova 应用中。

    2 年前
  • npm 包 number-2-letters 使用教程

    在前端开发中,我们经常需要将数字转换成对应的汉字表述,例如将 123 转换成“一百二十三”。如果每次都手动编写转换函数,工作量不仅繁琐,也容易产生错误。幸好,有一款 npm 包 number-2-le...

    2 年前
  • npm 包 fly-brotli 使用教程

    在前端开发中,我们经常需要对文件进行压缩以提高加载速度。常用的压缩格式包括 gzip 和 brotli。其中,brotli 是一种由 Google 开发的新一代压缩格式,具有更好的压缩比和更快的解压速...

    2 年前
  • npm 包 moment-rcf 使用教程

    1. 什么是 moment-rcf moment-rcf 是一个 npm 包,它基于 moment.js 实现了网络时间协议(Rendezvous Time Format)。

    2 年前
  • npm包jeseeq-draft-js-utils使用教程

    前言 在前端开发中,常常需要操作富文本传输以及编辑。而Draft.js是Facebook发布的一款富文本编辑器,其具有语义化,可扩展,并可以用于构建富文本编辑器。jeseeq-draft-js-uti...

    2 年前
  • npm 包 jeseeq-draft-js 使用教程

    前言 随着前端技术的发展,富文本编辑成为了很多 Web 应用必不可少的功能。而其中使用较为广泛的富文本编辑器便是 Facebook 开源的 draft-js。该编辑器的特点是基于 React 组件化开...

    2 年前
  • npm 包 money-input 使用教程

    在前端开发中,我们经常需要对用户输入的金额进行格式化处理,以便更好地展示和处理。而 money-input 就是一款能够方便地对金额进行格式化的 npm 包。下面将为大家介绍其使用教程。

    2 年前
  • npm 包 graphql-interceptor 使用教程

    在前端开发中,graphql 是一个非常流行的数据查询语言。尽管 graphql 提供了强大的查询和语句创作能力,但是由于某些原因,我们可能需要在发送请求前或者响应到达前进行拦截和修改。

    2 年前
  • npm 包 nui-concat 使用教程

    简介 nui-concat 是一个 npm 包,提供了前端开发中常用的资源合并功能。该包基于 Node.js 编写,可通过命令行工具快速将多个资源文件合并成一个文件,以优化网站性能,提升页面加载速度。

    2 年前
  • npm 包 multi-status 使用教程

    在 Web 开发中,状态管理是一个十分重要的概念,好的状态管理可以让我们更方便地开发 Web 应用。multi-status 就是一个基于状态管理的 npm 包,它可以帮助我们更轻松地管理多层嵌套的状...

    2 年前
  • npm 包 sq-ts 使用教程

    npm 是 Node.js 世界中的包管理器,它拥有数以百万计的软件包,其包括了丰富的前端资源。 sq-ts 是一个 npm 包,它提供了一种简单的方式来操作 SQL 数据库。

    2 年前
  • npm 包 bitbucket_pipeline_build_status 使用教程

    简介 bitbucket_pipeline_build_status 是一个 npm 包,它可以帮助我们获取 Bitbucket Pipeline 的构建状态和报告状态。

    2 年前
  • npm 包 ffi2 使用教程

    简介 FFI(Foreign Function Interface)是用于从运行时连接到本地动态库的一种机制。通过该机制,JavaScript 可以调用许多其他语言编写的库。

    2 年前

相关推荐

    暂无文章