npm 包 webpack-digest 使用教程

介绍

webpack-digest 是一个可以帮助使用者自动生成 Webpack 构建的输出结果的 npm 包。它可以在一个普通的 JavaScript 对象中计算所有模块的生成文件名和内容的散列值,并提供一份可读的摘要信息。

如果你在使用 Webpack 进行构建,并需要在每次构建后手动验证文件是否不同,那么 webpack-digest 是非常适合你的工具。

安装

首先,你需要将 webpack-digest 添加到你的依赖列表中:

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

配置

webpack-digest 需要的配置非常简单。在你的 Webpack 配置文件中添加如下代码:

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

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

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

你可以将 output 配置为任意的文件名。webpack-digest 会在构建结束后,将计算出的散列值输出到指定文件中。

使用

在 Webpack 构建完成之后,你可以使用以下 JavaScript 代码读取输出文件的内容:

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

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

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

输出的内容将具有如下形式:

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

我们可以从这个信息中读取出各个模块生成的输出文件名,以及它们的 hash 值。如果这个 hash 值和以前的构建结果不同,那么代表着输出文件也必定不同。

示例代码

我们这里提供一个完整的 Webpack 配置文件,供你参考:

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

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

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

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

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

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

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

在这份配置文件中,我们将一个入口文件拆分了成 2 个模块:app 和 vendors。其中 vendors 依赖了 React 和 ReactDOM 两个包,它们在 splitChunks 配置中被打包到了同一个文件中。

在每次构建结束后,我们会将输出文件的 hash 值和文件名,通过 webpack-digest 计算出来并写到一个 JSON 文件中。最后,我们可以通过读取这个 JSON 文件来检查输出文件有没有被正确地生成。

在这个示例中,我们认为 bundles.json 文件应该具有如下的内容:

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

如果你在命令行中输入以下命令:

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

那么 Webpack 就会以 production 模式编译你的代码,并生成一个 bundles.json 文件。你可以通过以上的「使用」章节中的代码来读取这个文件内容,并检查输出文件有没有被正确地生成。

总结

webpack-digest 是一个非常实用的 npm 包。在使用 Webpack 进行构建并且需要手动验证文件是否正确生成的时候,它可以节省大量的时间和精力。同时,由于它提供了源码级别的 hash 值,我们可以更加精确地检查我们的输出文件是否正确生成。

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


猜你喜欢

  • npm 包 wiki-plugin-parse 使用教程

    在前端开发中,我们经常会使用到各种 npm 包来辅助我们的开发工作。其中,wiki-plugin-parse 便是一款非常实用的 npm 包,它可以帮助我们快速解析和处理 wiki 式的文本内容。

    4 年前
  • npm 包 wifi-wizard-extend 使用教程

    在前端开发中,有时需要使用到设备的网络连接信息。而 npm 包 wifi-wizard-extend 可以很方便地获取和管理 Wi-Fi 热点连接。本文将介绍 wifi-wizard-extend 的...

    4 年前
  • npm 包 wifinder 使用教程

    在前端开发中,有很多便捷工具和库,其中一个比较优秀的 npm 包就是 wifinder。wifinder 是一款可以帮助前端开发者快速定位 Wi-Fi 信号强度的工具,有着简洁易用、可定制化等特点,今...

    4 年前
  • npm 包 wiki-plugin-shell 使用教程

    简介 wiki-plugin-shell是一款基于Node.js平台的npm包,为在Wiki网站上嵌入一个交互式的终端提供了便捷的解决方案。该NPM包允许用户在Wiki中运行shell命令,并将结果呈...

    4 年前
  • npm 包 wiki-plugin-rss 使用教程

    在前端开发的过程中,我们经常需要获取一些外部数据来渲染页面。而 RSS 就是一种流行的数据格式,用于订阅博客、新闻、音频、视频等内容。wiki-plugin-rss 就是一个帮助我们获取 RSS 数据...

    4 年前
  • npm 包 wheelie 使用教程

    什么是 wheelie wheelie 是一个轻量级的 JavaScript 工具库,专注于提供 DOM 操控、事件绑定和样式修改等基础功能。它不仅代码精简,而且做到了模块化设计,所以可以轻松地按需加...

    4 年前
  • npm 包 wiki-plugin-twadio 使用教程

    在现代化的网站或应用程序中,媒体播放器通常是不可或缺的一部分。wiki-plugin-twadio 就是一个能让你在网站或应用程序中添加覆盖层的音频播放器的 npm 包。

    4 年前
  • npm 包 wheelhouse-resource 使用教程

    在大规模前端项目开发中,我们经常需要进行统一的资源管理:例如样式表、图片等等。借助 npm 社区的包管理系统,我们可以方便地将这些资源打包成模块化的代码,并引入到我们的项目中来。

    4 年前
  • npm 包 wheeljs 使用教程

    随着前端技术的不断发展,我们现在使用的很多前端库和框架都依赖于 npm 包管理器。npm 是一个允许开发者分享和重用代码的平台,它包含了数百万的 Javascript 包。

    4 年前
  • npm 包 wheelie-recipe 使用教程

    在前端开发中,我们经常需要使用许多第三方的库来完成项目。NPM 包作为一种常用的 JavaScript 包管理器,其中的 wheelie-recipe 可以帮助我们更加方便地处理页面滚动事件。

    4 年前
  • npm包wheelnav使用教程

    简介 在web前端开发完成后,我们也需要在页面中加入一些动态、美观的元素,以吸引更多的用户关注,那么,如何在web前端开发中实现这个功能呢?这里向大家推荐一个npm包——wheelnav,让我们依次了...

    4 年前
  • npm 包 `wheeloftime` 使用教程

    前言 wheeloftime 是一个前端工具类 npm 包,旨在为开发者提供时间相关的辅助功能,比如倒计时、格式化时间等。在日常前端开发中,时间相关的操作非常常见,一个有效的时间工具包能够提高工作效率...

    4 年前
  • npm 包 wheellistener 使用教程

    在 Web 开发中,我们经常需要监听鼠标滚轮事件(mousewheel、DOMMouseScroll 等)。虽然这些事件可以通过原生的 JavaScript 轻松监听,但在各种浏览器和设备上却存在着兼...

    4 年前
  • npm 包 wheely 使用教程

    wheely 是一个用于实现基于浏览器端的酷炫 3D 滚动特效的 npm 包,它提供了简单易用的 API,可以方便地实现各种滚动效果,特别适用于多媒体内容的展示。本文将详细介绍 wheely 的使用方...

    4 年前
  • npm 包 wifiwizard 使用教程

    WiFiWizard 是一个 npm 包,可以帮助我们在 Web 应用程序中获取 WiFi 网络相关的信息,并进行一些操作,例如连接特定的 WiFi 网络、断开连接以及配置一个网络的访问点等。

    4 年前
  • npm 包 wifirm 使用教程

    1. 简介 wifirm 是一个 npm 包,它可以用来扫描 WiFi 网络并获取详细信息。它可以帮助开发者在前端应用中获取 WiFi 网络的相关信息,例如 SSID、信号强度、加密类型等等。

    4 年前
  • npm 包 wifree 使用教程

    随着移动互联网的普及,越来越多的人开始使用 Wi-Fi 连接互联网。然而,公共 Wi-Fi 的安全性并不够高,有可能会被黑客攻击。为了保护公共 Wi-Fi 的安全性,我们可以使用 npm 包 wifr...

    4 年前
  • npm 包 windows-node-deps-deleter 使用教程

    前言 在开发前端项目的过程中,我们通常需要使用很多 npm 包来帮助完成工作。这些 npm 包通常会依赖一些 C/C++ 编写的本地模块,而这些模块需要在安装 npm 包的时候编译生成,也就是说需要有...

    4 年前
  • npm 包 wiki-plugin-txtzyme 使用教程

    什么是 wiki-plugin-txtzyme? wiki-plugin-txtzyme 是一个基于 Node.js 开发的 npm 包,它可以将 Markdown 文本转化为 HTML 格式,并实现...

    4 年前
  • npm 包 windows-powershell 使用教程

    在前端开发过程中,经常需要使用一些命令行工具来辅助开发,例如 webpack、gulp、git 等。而在 Windows 平台上,使用命令行工具需要特殊的工具支持,这时候就需要使用 npm 包 win...

    4 年前

相关推荐

    暂无文章